运行以下测试以使用Jest和酶反应Js。 尝试在模式内部测试onChange事件
这是我的模态组件
<Modal isOpen={this.state.quickFilterModalOpen} style={descriptionModalStyle}>
<div>
<div className='fullmodal'>
<div id='close-modal' className='sidemodal_addnew_x' onClick={this.closeModal}>
<FontAwesome name='xbutton' className='fa-times' />
</div>
</div>
<div className='advanced-search-modal-inner'>
<label>First Name</label>
<input id='first-name-filter'onChange={(e) => {this.setState({advancedFilter: {...this.state.advancedFilter, FirstName: e.target.value}})}} value={this.state.advancedFilter.FirstName}/>
这是我的测试,我尝试通过标签和ID模拟节点。 错误:找不到节点。不知道为什么,因为Modal内部的所有setState都等于true。
beforeEach(() => wrapper = mount(<MemoryRouter keyLength={0}><Datasubjects {...baseProps} /></MemoryRouter>),
it("Test onChange event on First Name - Label",
wrapper.find('Datasubjects').setState({
advancedFilter:{
City:'test1'
},
pageLoading:true,
selectedQuickfilter:[],
quickFilterModalOpen:true
})
wrapper.update()
wrapper.find('Datasubjects').find('label').find('First Name').simulate('change',{target: {value: 'test1'}} )
还尝试了以下方法:
wrapper.find('Datasubjects').find('input[id="city-filter"]').simulate('change',{target: {value: 'test1'}} )