测试容器中存在的组件/元素是否有意义?
我有这个节点
<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();
答案 0 :(得分:1)
有两个原因:
contains
函数希望传入一个或多个ReactNode而不是选择器,这意味着我们必须删除引号。()=>{}
不等于App组件内部的值undefined
。合并这些更改:
expect(
wrapper.contains(<input type="text" onChange={undefined} />)
).toBeTruthy();