【发布时间】:2012-06-29 10:51:04
【问题描述】:
我正在使用 Browser Runner 在 Mocha 中运行一些异步测试,并且我正在尝试使用 Chai 的 expect 样式断言:
window.expect = chai.expect;
describe('my test', function() {
it('should do something', function (done) {
setTimeout(function () {
expect(true).to.equal(false);
}, 100);
}
}
这并没有给我正常的失败断言消息,而是我得到:
Error: the string "Uncaught AssertionError: expected true to equal false" was thrown, throw an Error :)
at Runner.fail (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3475:11)
at Runner.uncaught (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3748:8)
at uncaught (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3778:10)
所以它显然捕捉到了错误,只是没有正确显示它。任何想法如何做到这一点?我想我可以用错误对象调用“完成”,但是我失去了像 Chai 这样的东西的所有优雅,它变得非常笨重......
【问题讨论】:
-
问题在于浏览器端的摩卡咖啡。有关这方面的信息,请参阅 github.com/visionmedia/mocha/pull/278。
-
截至 2020 年,您应该看看
chai-as-promised插件...
标签: javascript unit-testing mocha.js