问题标签 [chai-as-promised]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
89 浏览

javascript - 如何使用自己的断言(属性和方法)扩展 chai-as-promised

我正在使用Chai + chai-as-promisedMocha runner。
通过简单的 Chai,带有自己断言的扩展的工作方式如下:
http ://chaijs.com/api/plugins/#addProperty-section

使用 chai-as-promised 应该看起来如何?

0 投票
1 回答
403 浏览

javascript - 测试 Promise 链以 .catch 结尾(按照承诺使用 Mocha / Chai)

我看过很多关于测试 Promise 拒绝的信息,但是想知道是否有人知道如何编写一个如果 Promise 链不以“.catch”结尾的测试会失败?我试图防止被吞下的错误。

例如,这将通过测试:

这将失败:

我正在使用 mocha 和 chai-as-promised。我没有使用任何承诺库,只是使用原生 es2015。

0 投票
1 回答
551 浏览

bluebird - chai-as-promised - 似乎不适用于 bluebird 承诺

我正在尝试使用 chai-as-promised 来测试我用 bluebird promises 编写的一段代码。

我要测试的方法返回一个 Promise 拒绝,如下所示:

测试代码是这样的:

尽管该方法故意失败,但测试用例被标记为通过。这是输出。

用户创建测试套件

如果我直接使用硬编码字符串进行测试,例如

然后它似乎工作。我在这里做错了什么?

编辑 我发现它与蓝鸟承诺或我正在测试的方法无关。一个简单的硬编码拒绝也不能正常工作。那是...,

返回通过,而不是失败。我在这里做错了什么吗?

0 投票
1 回答
228 浏览

javascript - 如何测试 Promise 永远不会实现?

我正在测试我编写的一个库来限制函数的执行。

API 是throttler.do(fn),它返回 fn 的返回值的承诺(在限制器决定可以运行它的任何时候解决)。

我正在使用lolex来伪造Date()setTimeout所以如果我将节流阀设置为每分钟允许两个动作并执行

这如预期的那样失败(它超时,因为它一直在等待最后一个承诺,因为我从来没有打电话lolex.tick)。

有没有办法可以把它变成通过测试,比如

我做不到

因为 setTimeout 方法是 lolex 伪造的。

0 投票
1 回答
336 浏览

angularjs - 如何使用 chai-as-promised 和 karma/angular 模拟延迟?

伪造延迟承诺解决的示例测试:

});

自述文件说要做:

我得到的错误是:

0 投票
1 回答
87 浏览

angularjs - 如何使用 chai-as-promised 测试被拒绝的承诺和错误消息?

我正在尝试检查拒绝承诺的错误消息,如果我在测试中使消息字符串错误,它仍然通过。

更新,看来我的测试无法正常工作。当我返回它时:

这是错误:

0 投票
1 回答
456 浏览

javascript - 用摩卡等待未兑现的承诺

我正在尝试使用 chai、chai-as-promised、sinon、sinon-chai 和 sinon-as-promised(使用 Bluebird)使用 Mocha 测试 JavaScript 对象。

这是被测对象:

这是测试:

我的问题是,在检查 Mocha 文档中描述的方式之前,我没有保留组件中使用的承诺来等待它,sinon-as-promised。

我怎样才能使这个测试通过?

0 投票
2 回答
1631 浏览

angularjs - chai-as-promised 测试不适用于 $q 承诺

我正在尝试通过业力单元测试chai-as-promised来处理$q承诺。

单元测试只是超时。我不确定我在这里做错了什么才能得到正确解决的承诺。使用似乎是一个问题$q——当我使用本机时Promise.reject()它工作正常。

我在这里提交了一张票,但似乎没有人回应: https ://github.com/domenic/chai-as-promised/issues/150

0 投票
1 回答
446 浏览

protractor - Protractor Mocha-Allure-Reporter :报告中仅记录测试用例的第一个“预期”失败

我正在使用量角器和 mocha-allure 记者。在测试中,当有多个“expect”语句时,只有第一个“expect”语句的结果会记录在报告中。请在下面找到示例代码

引诱报告仅显示第一次失败引诱报告 截图

我需要测试用例中所有期望语句的所有失败。有什么办法可以做到这一点?

谢谢!!

0 投票
3 回答
2767 浏览

protractor - chai 和 chai as promise 有什么区别

使用量角器时,在 mocha 框架中承诺的 chai 和 chai 有什么区别?