Spec-Zone.ru › Jasmine

Пространство имён: async-matchers

async-matchers

Асинхронные матеры, которые работают с фактическим значением, являющимся обещанием, и возвращают обещание.

Большинство асинхронных матеров будут бесконечно ждать, пока обещание не будет выполнено или отклонено, что приведёт к таймауту спецификации, если это никогда не произойдёт. Если вы ожидаете, что обещание уже будет выполнено или отклонено в момент вызова матера, вы можете использовать модификатор async-matchers#already, чтобы получить более быстрое сообщение об ошибке с более полезным сообщением.

Примечание: Спецификации должны ожидать результат каждого асинхронного матера, возвращать обещание, возвращённое матером, или возвращать обещание, полученное из возвращённого матером. В противном случае матер не будет оценён до завершения спецификации.

Примеры

// Good
await expectAsync(aPromise).toBeResolved();
// Good
return expectAsync(aPromise).toBeResolved();
// Good
return expectAsync(aPromise).toBeResolved()
 .then(function() {
   // more spec code
 });
// Bad
expectAsync(aPromise).toBeResolved();

Члены

already :async-matchers

Немедленно сообщить об ошибке, если фактическое значение находится в ожидании. В противном случае оценить матер.

Тип:
  • async-matchers
С:
  • 3.8.0
Примеры
await expectAsync(myPromise).already.toBeResolved();
return expectAsync(myPromise).already.toBeResolved();

not :async-matchers

Инвертировать матер в соответствии с этим expectAsync

Тип:
  • async-matchers
Примеры
await expectAsync(myPromise).not.toBeResolved();
return expectAsync(myPromise).not.toBeResolved();

Методы

(async) toBePending()

Ожидать, что обещание находится в ожидании, т.е. обещание не выполнено и не отклонено.

С:
  • 3.6
Пример
await expectAsync(aPromise).toBePending();

(async) toBeRejected()

Ожидать, что обещание будет отклонено.

С:
  • 3.1.0
Примеры
await expectAsync(aPromise).toBeRejected();
return expectAsync(aPromise).toBeRejected();

(async) toBeRejectedWith(expected)

Ожидать, что обещание будет отклонено со значением, равным ожидаемому, используя глубокое сравнение равенства.

Параметры:
Имя Тип Описание
expected Объект

Значение, с которым ожидается отклонение обещания

С:
  • 3.3.0
Примеры
await expectAsync(aPromise).toBeRejectedWith({prop: 'value'});
return expectAsync(aPromise).toBeRejectedWith({prop: 'value'});

(async) toBeRejectedWithError(expectedopt, messageopt)

Ожидать, что обещание будет отклонено со значением, соответствующим ожидаемому.

Параметры:
Имя Тип Атрибуты Описание
expected Ошибка <необязательно>

Error конструктор объекта, который был сброшен, должен быть экземпляром. Если не указано, Error будет использован.

message RegExp | Строка <необязательно>

Сообщение, которое должно быть установлено для брошенной Error

С:
  • 3.5.0
Пример
await expectAsync(aPromise).toBeRejectedWithError(MyCustomError, 'Error message');
await expectAsync(aPromise).toBeRejectedWithError(MyCustomError, /Error message/);
await expectAsync(aPromise).toBeRejectedWithError(MyCustomError);
await expectAsync(aPromise).toBeRejectedWithError('Error message');
return expectAsync(aPromise).toBeRejectedWithError(/Error message/);

(async) toBeResolved()

Ожидать, что обещание будет выполнено.

С:
  • 3.1.0
Примеры
await expectAsync(aPromise).toBeResolved();
return expectAsync(aPromise).toBeResolved();

(async) toBeResolvedTo(expected)

Ожидать, что обещание будет выполнено со значением, равным ожидаемому, используя глубокое сравнение равенства.

Параметры:
Имя Тип Описание
expected Объект

Значение, к которому ожидается выполнение обещания

С:
  • 3.1.0
Примеры
await expectAsync(aPromise).toBeResolvedTo({prop: 'value'});
return expectAsync(aPromise).toBeResolvedTo({prop: 'value'});

withContext(message) → {async-matchers}

Добавить контекст для expectAsync

Параметры:
Имя Тип Описание
message Строка

Дополнительный контекст для отображения при сбое асинхронного матера

С:
  • 3.3.0
Возвращает:
Тип
async-matchers

© 2008–2019 Pivotal Labs
Licensed under the MIT License.
https://jasmine.github.io/api/4.0/async-matchers.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API