我有这个功能
export async function trivialAsyncFail() {
return new Promise((resolve,reject) => {
reject("This is supposed to happen");
});
}
我有以下测试来测试它:
test("Async fail", async (t) => {
const failedPromise = trivialAsyncFail();
t.throws(failedPromise);
await failedPromise;
});
但是我的测试失败并显示消息:
异步失败
测试返回的拒绝承诺
拒绝原因:
"This is supposed to happen"
我不确定我是否误解了t.throws
应该如何工作。我认为,如果你期望承诺被拒绝而被拒绝,那么测试应该会成功。
使用ava 0.19
答案 0 :(得分:5)
According to the documentation:
在测试承诺时,您必须等待断言完成:
test('rejects', async t => { await t.throws(promise); });
await t.throws(failedPromise)
代替await failedPromise