reactjs - 单击 enzyme 测试中的复选框

标签 reactjs jestjs material-ui enzyme

我正在尝试模拟单击material-ui 复选框。我已经尝试过

selectAllCheckbox.simulate("change", { target: { check: true } });

act(() => {
  selectAllCheckbox.props().onClick();
}); 

我尝试重新查找该项目并更新包装器,但无法更改选中的 Prop 。

我觉得我错过了一些基本的东西。

我这里有一个codesandbox:https://codesandbox.io/s/enzymetestformaterialuitable-t1ruq 沙箱有一个material-ui表(从他们的演示页面提取)。

TIA

最佳答案

我从几个来源得到了帮助,包括 https://github.com/airbnb/enzyme/issues/216

完整沙箱https://codesandbox.io/s/enzymetestformaterialuitable-updb9测试通过

选中表格上的第四个复选框:

 let innerInputElement5 = wrapper
   .find('[role="checkbox"]')
   .hostNodes()
   .at(4);
 innerInputElement5.simulate("click");

选中标题中的不确定复选框:

let selectAllCheckboxInHeader = wrapper
      .find(TableHead)
      .find('input[type="checkbox"]')
      .simulate("change", { target: { checked: true } });

关于reactjs - 单击 enzyme 测试中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60286563/

相关文章:

javascript - 用 Jest 模拟 require 语句

javascript - 设置 maxDate 时防止自动选择日期 - Material UI React JS

javascript - Meteor React 表单选择已选中

css - 如何在 reactjs 中删除第三方 js 文件的特定 css 样式

laravel - 如何使用 ReactJS 和 Laravel

javascript - 如何使用 Jest 模拟第三方库

javascript - 有没有更好(更干净)的方法来使用三元运算符编写此 JS 代码(无需重复代码)?

javascript - 如何在 React 组件的渲染函数中测试函数和变量?

javascript - 将菜单选项与 Material-ui 右对齐

css - 如何在嵌套网格中对齐元素(React Material UI)