【发布时间】:2018-04-06 20:26:42
【问题描述】:
在我的 mocha.js 测试中,我调用了一个引发错误的 async 函数,但测试没有失败。它通过了,有一个UnhandledPromiseRejectionWarning:
describe('async function', async function () {
it('should fail', async function () {
[1].forEach(async function () {
throw new Error("Why can't I see this error?!");
});
});
});
请注意,更简单的情况按预期工作:
describe('async function', async function () {
it('should fail', async function () {
throw new Error('This one fails the test');
});
});
我如何导致由于内部函数中的异常而导致测试失败?
(我已尝试添加 unhandledRejection 处理程序,但测试仍然通过)
【问题讨论】:
-
@MihaiAndrici,我没有提到它以保持问题和代码简短,但在原始代码中它实际上不是
throw,而是一个失败的 Chai 断言。结果是一样的(expect.fail()不会导致测试失败)。不过还是谢谢。
标签: javascript node.js async-await mocha.js ecmascript-2017