代码之家  ›  专栏  ›  技术社区  ›  Naji

使用react、jest、react测试库测试失败的案例

  •  1
  • Naji  · 技术社区  · 6 年前

    我有一个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();
    });
    

    当我运行我的测试笑话时,它说测试失败了,然后它将我指向我拥有我的 throw new Error(...) 书面的。我想开玩笑的是不是有可能?

    1 回复  |  直到 6 年前
        1
  •  4
  •   lipp    6 年前

    断言 function 要抛出错误,必须通过 功能 对Expect语句。就你而言:

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