javascript - Jest Enzyme 测试在 render 方法中返回 null 的 React 组件

标签 javascript reactjs jestjs enzyme

我有一个组件在某些条件下在渲染中返回 null:

render() {
  if (this.props.isHidden) {
      return null;
  }

  return <div>test</div>;
}

我想用 Jest 和 enzyme 检查当 isHidden 为 true 时组件是否为空:

describe('myComp', () => {
    it('should not render if isHidden is true', () => {
        const comp = shallow(<myComp isHidden={true} />);
        expect(comp.children().length).toBe(0);
    });
});

这可行,但是有没有更惯用的方法来编写这个测试?测试呈现为 null 的组件是很常见的情况。

最佳答案

ShallowWrapper 有一个 isEmptyRender()功能:

expect(comp.isEmptyRender()).toBe(true)

关于javascript - Jest Enzyme 测试在 render 方法中返回 null 的 React 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47259061/

相关文章:

javascript - 如何将 reCAPTCHA 添加到表单

Javascript 用斜杠替换双引号

javascript - 无法使用 NodeJS 中的 Pino 记录器将日志写入文件

javascript - 优雅降级是否适用于所有事物?对于每个 javascript 和 javascript 框架功能?

reactjs - 使用 URL 对象进行 Jest 测试

html - 我的例子正文的边距从哪里来?

javascript - 如何从 django request.POST 获取输入数据

javascript - native 无法找到图像 './expo-asset/assets/${your_img_path}' 在 React Native/Expo 中找不到

reactjs - 如何使用 Jest 测试连接到存储的 React View ?

unit-testing - 使用 jest 测试 nuxt.js 应用程序时访问 `process.env` 属性