0
成分の酵素/嫌いユニット試験をしようとしています。特定の子コンポーネントの変更イベントをシミュレートする必要があります(その2つがあります)。酵素/反応:特定の子成分を見つける方法
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' })
しかし、これは、両方の入力コンポーネントを見つけるための正しい方法ではありません...
これは私のコンポーネントの私のレンダリング()関数がどのように見えるかです:
一般find()
に
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>
)
は私が与えられた小道具でコンポーネントを選択できませんか?この例ではnameという名前のプロパティがあります... – user3142695
はい、あなたは要素にアクセスしてイベントをシミュレートするために 'at(index)'または 'first()を使う必要があります – dominik791