Jest/Enzyme 中的异常处理

Shi*_*pta 3 reactjs jestjs enzyme

我正在使用 Jest/Enzyme 测试我的 React 组件。

在某些测试用例中,测试失败但有一些异常。在 Jest/Enzyme 中处理错误而不是破坏测试用例的理智/标准方法是什么?

例如 - 如果 'Grid' 组件没有获取任何数据作为参数,则以下情况应该通过。但是,它会失败并抛出一个异常,该异常被抛出 Grid 组件。

test('Grid does not render without data',()=>{
const wrapper=shallow(<Grid/>);
expect(wrapper.length.toBe(0));
})
Run Code Online (Sandbox Code Playgroud)

Din*_*yan 6

您不应在测试用例中处理错误。相反,您应该期望代码抛出错误。

你的代码应该是这样的

test('Grid should throw when data is not passed',()=>{
  expect(() => shallow(<Grid/>)).toThrow();
})
Run Code Online (Sandbox Code Playgroud)

但理想情况下,当正确的 prop 不存在时,组件不应该抛出,而是不应该渲染。