Javascript 使用React、Jest、React测试库测试失败案例

Javascript 使用React、Jest、React测试库测试失败案例,javascript,reactjs,unit-testing,jestjs,Javascript,Reactjs,Unit Testing,Jestjs,我有一个React组件,它在编程错误时抛出错误。例如,组件组件获取所需的道具数据,我有: if(!data){抛出新错误(“未提供数据”)} 在我的组件中写入以处理此错误。使用jest我的测试显示: test("throw invalid component error", () => { mockConsole(); const { container } = render(<Component />); expect(container).toThr

我有一个React组件,它在编程错误时抛出错误。例如,组件
组件
获取所需的道具
数据
,我有:

if(!data){抛出新错误(“未提供数据”)}

在我的组件中写入以处理此错误。使用
jest
我的测试显示:

test("throw invalid component error", () => {
    mockConsole();
    const { container } = render(<Component />);
    expect(container).toThrowError();
});
test(“抛出无效组件错误”,()=>{
模拟控制台();
const{container}=render();
expect(container.tothrower();
});

当我运行我的测试时,Jest说测试失败了,然后它将我指向写有
抛出新错误(…)
的行。我试图做的是开玩笑吗?

要断言
函数
要抛出错误,必须将
函数
传递给expect语句。就你而言:

test('...', () => {
  expect(() => {
    render(<Component />);
  }).toThrowError();
});
test(“…”,()=>{
期望(()=>{
render();
}).tothrowerr();
});

aah我没有用
expect
包装渲染,谢谢!