【发布时间】:2018-02-25 04:43:43
【问题描述】:
我正在尝试使用 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)
【问题讨论】:
-
看起来您没有匹配的 errorType。 (您发现了一个错误,但它不是
IncorrectResponseTypeError类型) -
也许您可以尝试在控制台中记录
e以查看它实际上是什么类型
标签: javascript unit-testing promise jestjs es6-promise