2

次の問題があります: テストで関数が呼び出されているかどうかをテストする必要がありますが、正しくテストするには、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関数が呼び出され、onSubmitEditingprop がトリガーされます。

4

1 に答える 1