当我需要检查承诺中的事情时,我很难在测试中获得有意义的失败。
这是因为大多数测试框架throw
在断言失败时使用,但那些被then
承诺所吸收......
例如,在下面我希望 Mocha 告诉我'hello'
不等于'world'
...
Promise.resolve(42).then(function() {
"hello".should.equal("world")
})
使用 Mocha,我们可以正式返回承诺,但这完全消除了错误,因此更糟......
注意:我正在使用mocha
和expect.js
(因为我想与 IE8 兼容)