Чай (как и обещал) соответствует имуществу

Как проверить свойство на соответствие регулярному выражению в chai? Бонусные баллы: я на самом деле хочу проверить свойство объекта, возвращаемого обещанием, используя chai-as-promised (но я думаю, если я знаю, что не обещание, chai-as-promised должно работать точно так же).

Моя функция

function foo() { 
  return Promise.resolve({ bar: 'baz' }); 
}

Мой тест (моя идея):

// Non-Promise-way
foo().should.match.property('bar', /baz/);    

// Promise-way
foo().should.eventually.match.property('bar', /baz/);

(но match.property нет)


person Lukas    schedule 10.08.2016    source источник
comment
Это вопрос о правильном способе проверки свойства или о том, как проверить это свойство с помощью регулярного выражения?   -  person Simon Hänisch    schedule 10.08.2016
comment
Сочетание этого. И я только что узнал, что это foo().should.eventually.have.property('bar').and.match(/baz/);. Кто-то также ответил на это, но затем удалил его. Теперь я вижу, что мне нужно обновить свой вопрос.   -  person Lukas    schedule 10.08.2016
comment
Я удалил его, потому что я не делал совпадение, а вместо этого проверял равенство.   -  person Simon Hänisch    schedule 10.08.2016
comment
Исправьте свой ответ, и я приму его :)   -  person Lukas    schedule 10.08.2016


Ответы (1)


Из документов Chai API я получил следующее:

foo().should.have.property('bar').and.match(/baz/);

Или для стиля обещания:

foo().should.eventually.have.property('bar').and.match(/baz/);
person Simon Hänisch    schedule 10.08.2016