我正在尝试测试这个类方法:
get () {
try {
return 'value'
} catch (e) {
return 'value2'
}
}
使用:
test('the get method retrieves value', () => {
const value = MyClass.get()
expect(value).toBe('value')
})
我的测试报告显示我测试了方法的try
部分,但未测试catch
部分。
如何报道catch
部分?
答案 0 :(得分:1)
您还可以通过将函数调用也包装在测试中的my $bin = printf("%b", $hex);
块中来测试catch部分
try catch
答案 1 :(得分:0)
请尝试以下操作:
test('the fetch fails with an error', async () => {
expect(() => {
await fetchData();
}).toThrow();
});
答案 2 :(得分:0)
您可以将期望值包装在setImmediate()或process.nextTick()中:
test('the fetch fails with an error', async => {
expect.assertions(1);
setImmediate(() => {
expect(fetchData).toMatch('error');
});
});