在酵素和玩笑中具有id的wrapper.find找不到元素

时间:2019-08-13 09:56:39

标签: reactjs jestjs enzyme

我是Jest和Enzyme测试的新手,我想知道为什么find函数不能与id一起使用。

// html来自react,仅是ID增量在哪里的代码

<div className="App-body">
  <div className="changePage">
    <button className="Selections" onClick={this.decrementPage}>Previous</button>
    <p className="changePageNumber">{this.state.page}</p>
    <button className="Selections" id="increment" onClick={this.incrementPage}>Next</button>
  </div>
</div>

//测试

it('next page', () => {
  const wrapper = shallow(<Home />)
  const incrementPage = wrapper.find('#increment')
  incrementPage.simulate('click')
  const countState = wrapper.state().page
  expect(countState).toEqual(2)
})

Method “simulate” is meant to be run on 1 node. 0 found instead.

25 |   //const text = wrapper.find('p').text()
 26 |   const incrementPage = wrapper.find('#increment')
> 27|   incrementPage.simulate('click')
    |                 ^                   

1 个答案:

答案 0 :(得分:3)

尝试使用mount代替shallowshallow不会超出元素的第一级。在您的情况下,仅显示className为“ App-Body”的div