【发布时间】:2017-02-26 14:17:04
【问题描述】:
我正在尝试使用 mocha 和 chai 编写单元测试,但是我遇到了一个问题,即我收到超时错误,而不是引发实际错误,而且我似乎找不到解决方法。
我得到的错误:
1) Unit Tests for Networks Array
should check that networks array is not empty:
Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.
在我的代码中,我已经证明与我正在测试的相反是正确的,所以我有一个预期的失败。
是否有解决此类问题的标准方法?
describe('Unit Tests for Networks Array\n', function () {
it('should check that networks array is not empty', function (done) {
git.getNetworks(function (networks) {
expect(networks).to.be.empty(); // expected failure
done();
});
});
【问题讨论】:
-
该代码应该可以工作。我忽略 git.getNetworks 是否是一个承诺,但在这种情况下,你错过了用例,如果该回调从未得到解决会发生什么?你能提供更多信息吗?
-
是的,git.getNetworks 是一个承诺。当它没有解决时,它就会超时。我希望抛出一个错误。
标签: javascript testing promise mocha.js chai