这是我要测试的代码。由于setState而无法测试两个点击事件
<td className="centertext">
<input type='radio' name='req' onClick={() => {this.handleRequestClick(titles[i][j].RequestId, titles[i][j].Name, titles[i][j].Content)}} />
</td>
<td className="modal-add-window-td">{i}</td>
<td className="modal-add-window-td">
<div>{titles[i][j].Name}</div>
</td>
<td className="modal-add-window-td">
<img className='request-info'src={infoSVG} alt='Info' onClick={() => {this.showDescription(titles[i][j].Name, titles[i][j].Description)}} />
</td>
这是到目前为止我尝试过的操作,但得到以下消息: 方法“ props”应在1个节点上运行。改为找到0。
使用Jest和酶-内存路由器并安装组件
it("Test click event on show Description", () => {
wrapper.find('AddViewModal').setState({
titles:[[{
Requests:{
Name:""
}}
]]
}),
wrapper.update();
expect(wrapper.find('AddViewModal').find('img').props().src).toEqual('../../Images/chartImages/info.svg')
//wrapper.find('AddViewModal').find('img[alt="Info"]').simulate('click')
});
答案 0 :(得分:1)
您尝试在哪里找到吗?
element.findWhere(node => node.hasClass("request-info"))
如果没有,您是否可以验证findWhere遍历您要定位的节点?
答案 1 :(得分:1)
确保您获得正确的状态,否则将找不到节点
it("Test click event on show Description", () => {
baseProps.onClick.mockClear();
wrapper.find('Component').setState({
Requests: [{
Name: 'testing'
}]
})
wrapper.update();
wrapper.find('Componentl').find('img').simulate('click')