测试容器中存在的组件/元素是否有意义?
我有这个节点
<div className="App">
<input type="text" onChange={[undefined]} />
<button onClick={[undefined]}>
Add
</button>
</div>
但是为什么测试失败了呢?
const wrapper = shallow(<App />);
console.log(wrapper.debug())
expect(
wrapper.contains('<input type="text" onChange={()=>{}} />')
).toBeTruthy();
最佳答案
有两个原因:
contains
函数需要传入一个 ReactNode 或 Nodes 而不是一个选择器,这意味着我们必须去掉引号。()=>{}
不等于undefined
,后者是 App 组件内的值。
合并这些更改:
expect(
wrapper.contains(<input type="text" onChange={undefined} />)
).toBeTruthy();
关于javascript - enzyme 测试容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53728669/