我想测试使用mocha的异步操作返回的值。这些值是通过简单的A +承诺提供的。不幸的是,.then
处理程序现在将吞没assert
抛出的所有异常,因此无论如何测试都会通过:
someOp().then(function(result){
// throws, but will be swallowed
assert(result.indexOf('I_DONT_WANT_THAT') < 0);
done();
});
如何正确测试异步操作的结果?我能想到的只是无休止地传播错误,但在某些时候我需要断言为我的测试失败提出一个真正的错误。
答案 0 :(得分:3)
it('value should be 0', function() {
return Promise.resolve(1).then(function(value) {
assert(value === 0);
});
});