【发布时间】:2017-11-07 21:29:24
【问题描述】:
我正在尝试对组件进行酶/开玩笑单元测试。我需要模拟特定子组件的更改事件(因为它们有两个)。
const wrapper = shallow(<CreateAccount />)
wrapper.find({ name: 'username' }).simulate('change', { target: { value: 'Username' } })
wrapper.find({ password: 'password' }).simulate('change', { target: { value: 'Password' } })
const state = wrapper.instance().state
expect(state).toEqual({ username: 'Username', password: 'Password' })
但这不是找到两个 Input 组件的正确方法...
这就是我的组件的 render() 函数的样子:
render () {
return (
<Form onSubmit={this._onSubmit.bind(this)}>
<Input
value={this.state.description}
onChange={this._onChange.bind(this)}
name='username'
type='text'
placeholder='Username'
/>
<Input
value={this.state.url}
onChange={this._onChange.bind(this)}
name='password'
type='password'
placeholder='Password'
/>
<Button type='submit'>
Submit
</Button>
</Form>
)
【问题讨论】:
标签: javascript reactjs enzyme