使用Chai作为Promised时,我真的需要在测试中返回一个Promise吗?

使用Chai作为Promised时,我真的需要在测试中返回一个Promise吗?,第1张

使用Chai作为Promised时,我真的需要在测试中返回一个Promise吗?

在上述情况下,摩卡链

$rootScope.$apply()
被调用后返回了保证,因此链式
then
需要另一个
$rootScope.$apply()
执行。没有这个,承诺链的其余部分将不会执行,并导致超时。

Mocha规范中的返回承诺旨在用于异步规范,这对于测试非角度承诺是必需的。

$q
承诺是同步的,并且与Angular摘要相关。

如图所示这里,

chai-as-promised
可以进行修改,以支持
$q
承诺,并申请
$rootScope.$apply()
自动断言承诺:

chaiAsPromised.transferPromiseness = function (assertion, promise) {  assertion.then = promise.then.bind(promise);  if (!('$$state' in promise))    return;  inject(function ($rootScope) {    if (!$rootScope.$$phase)      $rootScope.$digest();  });};


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5126388.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存