我是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')
| ^
答案 0 :(得分:3)
尝试使用mount
代替shallow
。 shallow
不会超出元素的第一级。在您的情况下,仅显示className为“ App-Body”的div