问题标签 [react-native-testing-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
react-native - SegmentedControlIOS 上的 fireEvent
我正在使用 react-native-testing-library - https://callstack.github.io/react-native-testing-library/docs/getting-started
我有一个<SegmentedControlIOS>
- https://facebook.github.io/react-native/docs/segmentedcontrolios
我要讲第一段。我正在这样做:
但是我得到了错误:
截图如下。有人知道如何按不同的段<SegmentedControlIOS>
吗?
react-native - 使用 react-native-testing-library 测试警报
可以react-native-testing-library
找到使用 ? 创建的警报Alert.alert()
?
我的应用程序按预期创建警报,但此测试失败:
异步版本(waitForElement
,评论)也失败了。
同样,警报在应用程序本身中起作用,并且由处理程序调用的调度操作通过的断言。
unit-testing - React Native:在开玩笑的单元测试中更新上下文 api 值
我正在编写单元测试,以验证带有少量文本输入和自定义下拉字段的反应原生表单。我正在jest
使用react-native-testing-library
. 该表格在提交 btn press 时得到验证。表单值被保存到上下文并从上下文中访问(使用 useReducer() 钩子)。
我无法模拟该Dropdown
字段的输入值,因此要跳过它,我想通过向上下文发送一个随机有效值来设置该字段的上下文值,用 in 包裹act()
,这样验证就不会停在那里并且继续验证下TextInput
。
但是,当我记录上下文值时,它仍然像以前一样保持不变,并且验证会因之前的字段而停止。
ContextProvider.js
FormComponent.js
FormComponent.test.js
所以,我的问题是,为什么上下文不更新?这是更新上下文的错误方法吗?
注意:我不是在嘲笑上下文,而是更喜欢这种方式来使用实际上下文。
react-native - 用多个状态渲染反应原生测试快照?
componentDidMount
我有一个组件在其方法中多次设置状态。例如:
使用类似于以下的渲染方法:
我可以运行测试react-native-testing-library
然而我只得到等待视图。但是,当我逐步完成测试时,其他渲染被击中。
所以看起来快照测试只是捕获第一个渲染。有没有办法让它给我最终的渲染?
react-native-testing-library - 如何获取渲染组件的道具
想象一下,我有一个反应原生组件:
我想运行一个测试来引用 HelloWorld 组件本身并检查一个道具。如何访问 HelloWorld 本身并检索其道具?
我没有找到其他类似库中使用的 baseElement 之类的选项
reactjs - 使用 react-native-testing-library 测试 StyleSheet
在我们的 react-native 应用程序中,我们正在为我们的组件开发自定义样式组件。
样式组件包含 StyleSheet 示例:
由于此组件是在我们的组件中导入的,并且当我们对组件进行单元测试时,它会在其中运行 30 次,并显示 if 和 else 部分没有运行,这导致覆盖率降低(样式组件在组件中导入)
所以我附上了一个 解释这个问题的截图。请注意,其余整个组件都经过测试并完全覆盖。所以剩下的覆盖范围是样式组件。
react-native - 如何在 React Native 测试库中获取 React 测试渲染器实例
我有一个由导航库添加的具有生命周期方法的组件 - React Native Navigation ( https://wix.github.io/react-native-navigation/#/docs/Usage?id=screen-lifecycle )。
我必须在测试中调用此生命周期方法 (componentDidAppear),以便我的组件正确呈现。
当我使用 React Test Renderer 时,我能够在组件实例上调用此方法。如何使用 React Native 测试库调用它?如何在 RN Testing-Library 中获取测试渲染器实例?
reactjs - 使用 Jest 和 React Native 测试库对 DateTimePickerModal 进行问题测试
我正在尝试使用 Jest 和React Native Testing Library为React Native Modal DateTime Picker编写单元测试。我已经通过了 3 个(我相信是)标准 RN 道具:
这是我的测试:
这dobField
是我创建的自定义输入字段,当它被“按下”时,我可以找到testID
我添加的模式。但是,将事件触发到的第 3 个条件onConfirm
,我收到此错误:
我已经阅读了关于“直接操作”的 RN 文档(链接),其中讨论了设置/使用native props
. 但是,这似乎应该在 modal/lib 本身上实现,而不是从我这边?
所以我的问题是:
- 有没有人有为此第三方组件编写测试的经验?
- 有没有人可以分享更多关于 TypeError 含义的信息?
- 有没有更好的方法来为此模式编写单元测试?
- 我是否缺少能够通过 Jest 与组件正确交互的道具/部件?
react-native - 由于 react-native-reanimated 模拟,使用 material-top-tabs 后拍摄快照时出错
当前行为
- 使用@react-navigation/material-top-tabs 后,我的快照失败,出现以下错误
预期行为
- 快照被保存
如何重现
Messages-test.js
:
mockedProvider.js
:
Messages.js
:
topTabNavigator.js
:
jestSetupFile.js
:
你的环境
| 软件 | 版本 |
| ---------------------------------- | -------- |
| @react-navigation/本机 | 5.0.5 |
| @react-navigation/material-top-tabs | 5.0.7 |
| 反应原生选项卡视图 | 2.13.0 |
| 反应原生 | 0.61.5 |
| 节点 | 12.16.0 |
| 纱线 | 1.22.0 |