次の問題があります: テストで関数が呼び出されているかどうかをテストする必要がありますが、正しくテストするには、Enter キーを押すか、フォームを送信する必要がありますが、意図したとおりに機能していないようです。私はすでに次のことを試しました:
fireEvent.keyDown(input, { key: 'Enter', code: 'Enter' });
fireEvent.submit(input);
コンポーネントのプロップをトリガーする唯一の方法onSubmitEditing
は、Enter キーを押すことです。
テストしようとしているコードは次のとおりです。
<Input placeholder="Cirurgião"
testID='input_buscaCirurgiao_index'
value={this.state.text}
autoCorrect={false}
keyboardType={(Platform.OS === 'android') ? 'visible-password' : 'default'}
onChangeText={(item) => this.setState({ text: item })}
onSubmitEditing={() => { this._searchPressingEnter() }} // i need to test this
autoCapitalize='none'
/>
_searchPressingEnter
関数のコードは次のとおりです。
_searchPressingEnter() {
Keyboard.dismiss()
let item = this.state.text
this._buscarCirurgioes(item)
}
Enter キーが押されると、_searchPressingEnter
関数が呼び出され、onSubmitEditing
prop がトリガーされます。