我想测试/模拟我在React Component中选择器的值更改。这应该是浅层的还是镶嵌的?有什么想法。
我正在使用React16并挂载组件,找到它并想要更改值:
element.simulate('change' , {
target: {
value: 'something'
}
});
并检查其值是否实际上已更改...
main.js:
handleChange = (event) => {
................ something
}
render() {
return (
<Select
data-test="players_field"
value={''}
onChange={this.handleChange}
inputProps={{
name: 'players'
}}
>
<MenuItem disabled>1</MenuItem>
<MenuItem value="2">2</MenuItem>
<MenuItem value="3">3</MenuItem>
<MenuItem value="4">4</MenuItem>
<MenuItem value="5">5</MenuItem>
</Select>
)}
我希望将选择器的值更改为MenuItems之一(无论哪个),并测试选择器是否实际上通过JEST酶更改了值/文本
main.test.js
const wrapper = mount(<Doba />);
const element = wrapper.find("[data-test='players_field']");
element.simulate('change' , {
target: {
value: 'Players ON the court'
}
});