gpt4 book ai didi

javascript - 预期调用一个断言但收到零个断言调用

转载 作者:行者123 更新时间:2023-11-29 16:40:43 25 4
gpt4 key购买 nike

我正在尝试使用 Jest 测试一个方法...该方法应该返回 Promise.reject() 。

这是我写的代码:

test('testing Invalid Response Type', () => {       
const client = new DataClient();

client.getSomeData().then(response => {
console.log("We got data: "+ response);
}).catch(e => {
console.log("in catch");
expect(e).toBeInstanceOf(IncorrectResponseTypeError);

});
expect.assertions(1);

});

当我运行测试时,它打印“in catch”但失败并出现以下异常: 预期调用一个断言但收到零个断言调用。

console.log src/data/dataclient.test.js:25
in catch

● testing Invalid Response Type

expect.assertions(1)

Expected one assertion to be called but received zero assertion calls.

at extractExpectedAssertionsErrors (node_modules/expect/build/extract_expected_assertions_errors.js:37:19)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)

最佳答案

我通过在代码块前添加 return 语句解决了这个问题。使用 return 语句,函数将等待 catch block 完成.. 因此将执行 expect..

test('testing Invalid Response Type', () => {       
const client = new DataClient();
return client.getSomeData().then(response => {
console.log("We got data: "+ response);
}).catch(e => {
console.log("in catch");
expect(e).toBeInstanceOf(IncorrectResponseTypeError);

});
expect.assertions(1);
});

关于javascript - 预期调用一个断言但收到零个断言调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46248905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com