Promiseである実値に対して操作を行い、Promiseを返す非同期マッチャー。
ほとんどの非同期マッチャーは、Promiseが解決または拒否されるまで無期限に待機するため、それが発生しない場合はスペックのタイムアウトが発生します。 マッチャーが呼び出された時点でPromiseが既に解決または拒否されていると予想される場合は、async-matchers#already
修飾子を使用して、より役に立つメッセージでより迅速に失敗させることができます。
注: スペックは、各非同期マッチャーの結果を待機するか、マッチャーによって返されたPromiseを返すか、マッチャーによって返されたPromiseから派生したPromiseを返す必要があります。 そうしないと、スペックが完了する前にマッチャーは評価されません。
例
// 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
実値が保留中の場合、できるだけ早く失敗します。 それ以外の場合は、マッチャーを評価します。
型
- 導入バージョン
- 3.8.0
例
await expectAsync(myPromise).already.toBeResolved();
return expectAsync(myPromise).already.toBeResolved();
not :async-matchers
このexpectAsync
に続くマッチャーを反転します。
型
例
await expectAsync(myPromise).not.toBeResolved();
return expectAsync(myPromise).not.toBeResolved();
メソッド
(async) toBePending()
Promiseが保留中、つまり解決も拒否もされていないことを期待します。
- 導入バージョン
- 3.6
例
await expectAsync(aPromise).toBePending();
(async) toBeRejected()
Promiseが拒否されることを期待します。
- 導入バージョン
- 3.1.0
例
await expectAsync(aPromise).toBeRejected();
return expectAsync(aPromise).toBeRejected();
(async) toBeRejectedWith(expected)
深い等価比較を使用して、Promiseが期待値と等しい値で拒否されることを期待します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
expected |
オブジェクト | Promiseが拒否されることが期待される値 |
- 導入バージョン
- 3.3.0
例
await expectAsync(aPromise).toBeRejectedWith({prop: 'value'});
return expectAsync(aPromise).toBeRejectedWith({prop: 'value'});
(async) toBeRejectedWithError(expectedopt, messageopt)
Promiseが期待値に一致する値で拒否されることを期待します。
パラメータ
名前 | 型 | 属性 | 説明 |
---|---|---|---|
expected |
Error | <オプション> |
スローされたオブジェクトがインスタンスである必要がある`Error`コンストラクタ。 指定しない場合は、`Error`が使用されます。 |
message |
RegExp | String | <オプション> |
スローされた`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()
Promiseが解決されることを期待します。
- 導入バージョン
- 3.1.0
例
await expectAsync(aPromise).toBeResolved();
return expectAsync(aPromise).toBeResolved();
(async) toBeResolvedTo(expected)
深い等価比較を使用して、Promiseが期待値と等しい値に解決されることを期待します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
expected |
オブジェクト | Promiseが解決されることが期待される値 |
- 導入バージョン
- 3.1.0
例
await expectAsync(aPromise).toBeResolvedTo({prop: 'value'});
return expectAsync(aPromise).toBeResolvedTo({prop: 'value'});
withContext(message) → {async-matchers}
expectAsync
にコンテキストを追加します
パラメータ
名前 | 型 | 説明 |
---|---|---|
message |
文字列 | 非同期マッチャーが失敗したときに表示する追加のコンテキスト |
- 導入バージョン
- 3.3.0