名前空間: async-matchers

async-matchers

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
戻り値
async-matchers