小编dis*_*ynx的帖子

如何使用react-native-testing-library提交表单或按输入键

我有以下问题:我需要测试在我的测试中是否调用了某个函数,但为了正确测试它,我需要按 Enter 或提交表单,但它似乎没有按预期工作。我已经尝试过以下操作:

\n
fireEvent.keyDown(input, { key: \'Enter\', code: \'Enter\' });\nfireEvent.submit(input);\n
Run Code Online (Sandbox Code Playgroud)\n

触发我的组件的 prop 的唯一方法onSubmitEditing是按 Enter 键。

\n

这是我正在尝试测试的代码:

\n
<Input placeholder="Cirurgi\xc3\xa3o"\n    testID=\'input_buscaCirurgiao_index\'\n    value={this.state.text}\n    autoCorrect={false}\n    keyboardType={(Platform.OS === \'android\') ? \'visible-password\' : \'default\'}\n    onChangeText={(item) => this.setState({ text: item })}\n    onSubmitEditing={() => { this._searchPressingEnter() }} // i need to test this\n    autoCapitalize=\'none\' \n/>\n
Run Code Online (Sandbox Code Playgroud)\n

这是该_searchPressingEnter函数的代码:

\n
_searchPressingEnter() {\n    Keyboard.dismiss()\n\n    let item = this.state.text\n\n    this._buscarCirurgioes(item)\n}\n
Run Code Online (Sandbox Code Playgroud)\n

一旦按下 Enter 键,_searchPressingEnter就应该调用该函数,从而触发该onSubmitEditing道具。

\n

unit-testing react-native react-testing-library react-native-testing-library

6
推荐指数
1
解决办法
4405
查看次数