使用React,Jest,React-Testing-Library测试失败的案例

时间:2018-06-04 20:21:40

标签: javascript reactjs unit-testing jestjs

我有一个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(...)的行。是我试图在开玩笑中做的事情吗?

1 个答案:

答案 0 :(得分:3)

要声明function抛出错误,您必须将function传递给expect语句。在你的情况下:

test('...', () => {
  expect(() => {
    render(<Component />);
  }).toThrowError();
});