<img

时间:2019-04-01 17:57:04

标签: reactjs onclick jestjs

="" 内部的onClick无法对图像标签内部的click事件执行测试。

这是我要测试的代码。由于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')

     });

2 个答案:

答案 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')