我有一个React组件,当编程错误时会抛出错误。例如,组件Component
采用所需的道具data
,我有:
if (!data) { throw new Error("data is not provided") }
写在我的组件中来处理这个错误。使用jest
我的测试说:
test("throw invalid component error", () => {
mockConsole();
const { container } = render(<Component />);
expect(container).toThrowError();
});
当我运行我的测试时,Jest说测试失败然后它指向我写throw new Error(...)
的行。是我试图在开玩笑中做的事情吗?
答案 0 :(得分:3)
要声明function
抛出错误,您必须将function
传递给expect语句。在你的情况下:
test('...', () => {
expect(() => {
render(<Component />);
}).toThrowError();
});