命名空间: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

如果实际情况​​处于挂起状态,请尽快失败。否则评估匹配器。

类型
  • 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()

期望一个承诺处于挂起状态,即该承诺既没有解决也没有拒绝。

  • 3.6
示例
await expectAsync(aPromise).toBePending();

(async) toBeRejected()

期望承诺被拒绝。

  • 3.1.0
示例
await expectAsync(aPromise).toBeRejected();
return expectAsync(aPromise).toBeRejected();

(async) toBeRejectedWith(expected)

期望承诺被拒绝,其值与期望相等,使用深度相等比较。

参数
名称 类型 说明
预期 对象

预期拒绝 Promise 的值

  • 3.3.0
示例
await expectAsync(aPromise).toBeRejectedWith({prop: 'value'});
return expectAsync(aPromise).toBeRejectedWith({prop: 'value'});

(async) toBeRejectedWithError(expectedopt, messageopt)

预期 promise 会以与预期匹配的值被拒绝

参数
名称 类型 属性 说明
预期 错误 <可选>

抛出的对象需要为 Error 构造函数的实例。如果没有提供,将使用 Error

消息 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 得以解决,以与预期相等的值,使用深度相等比较。

参数
名称 类型 说明
预期 对象

预期 promise 要得以解决的值

  • 3.1.0
示例
await expectAsync(aPromise).toBeResolvedTo({prop: 'value'});
return expectAsync(aPromise).toBeResolvedTo({prop: 'value'});

withContext(message) → {async-matchers}

expectAsync 添加一些内容

参数
名称 类型 说明
消息 字符串

当异步匹配器失败时显示的附加内容

  • 3.3.0
返回
类型
async-matchers