问题标签 [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 - react-native-testing-library 与 native-testing-library 之间的区别?
我想测试我的 React Native 代码,但我在纠结应该使用哪个测试库。
根据我在互联网上阅读的内容,与组件的内部逻辑相比,专注于测试用户行为是一种更好的做法。这就是为什么我将jest库与test-renderer一起使用。
ReactNative 官方文档上有两个推荐的库,和我相当:react-native-testing-library和@testing-library/react-native(也称为native-testing-library)。
他们之间有什么区别?
react-native - 检查第一个孩子是否在本机测试库中不呈现任何内容
假设我有以下组件:
在 React 测试库 (RTL) 中,以下 AFAIK 应该可以工作:
哪里.toBeEmpty
是自定义匹配器jest-dom
。但是,在 NTL 中,container.firstChild
没有定义,所以我不能使用.toBeEmpty
matcher from jest-native
. 经过一些实验,我让它按如下方式工作:
有没有其他可能更好的方法来做到这一点?
reactjs - 使用 Jest 进行测试时如何用模拟替换 React 组件
在我正在从事的项目中,我真的被困在这个问题上,我发现的所有答案似乎都很简单,但它们对我没有用。也许我真的不明白什么是模拟,我真的可以使用一些指导。
我正在测试一个父组件,它有一个使用 GraphQL 从数据库中获取一些数据的子组件。在测试父母时,我不在乎孩子在做什么。我想用一个模拟组件(一个不从数据库中获取数据的组件)替换子组件,以便我只能专注于父组件。
我想出了一个最简单的例子来说明我的情况。请注意,我使用的是 React Native 和 React Native 测试库。
./src/ParentComponent.js
./src/ChildComponent.js
./src/__mocks__/ChildComponent.js
./src/ParentComponent.test.js
当我运行测试时,我收到以下错误...
它仍在使用真实的<ChildComponent />
. 为什么它不替换目录<ChildComponent />
中的模拟版本__mocks__
?这不是模拟的工作方式吗?如果有人可以请帮助和解释,将不胜感激。谢谢你。
react-native - TouchableOpacity 不显示 disabled 和 activeOpacity 道具
我正在尝试测试这个简单的按钮:
我使用这个测试文件,在这里我只是用一些道具渲染我的按钮:
问题是我返回了这棵树,它没有disabled
或activeOpacity
在其中:
因此,我在上面的测试文件中的断言失败了。那我该如何测试道具TouchableOpacity
呢?
在此先感谢您的时间!
react-native - 当可编辑为假时,onChangeText 被称为事件
这个问题说fireEvent.changeText
事件不应该在is时调用onChangeText
函数,但是当我运行它时:editable
false
我的测试失败了,因为handleChangeText
被调用了。
我用:
"@testing-library/react-native": "7.1.0"
"react-native": "https://github.com/expo/react-native/archive/sdk-38.0.0.tar.gz"
react-native - 元素的测试焦点
如何检查该TextInput
组件是否聚焦?我知道如何在网上做到这一点:
但是如何在 React Native 中做同样的事情呢?
jestjs - 如何测试 react-native 方法?
我想测试Vibration
的模块react-native
,问题是当我尝试测试它时出现错误:
使用此组件:
而这个测试文件:
我收到此错误:
我试着像这样嘲笑react-native
:
但随后我收到大量与不应再使用的旧模块相关的警告:
那么测试此类功能(如Vibration
)的最佳方法是什么react-native
?
提前感谢您的时间!
react-native-testing-library - 在 FlatList 中测试 onScroll 事件
我一直在尝试使用这个非常简单的测试文件来测试onScroll
a 的事件:FlatList
测试文件:
正在测试的组件:
如您所见,我的方法中什至没有任何代码handleScroll
,但我仍然收到此错误:
如何修复此错误并测试我的handleSCroll
?
在此先感谢您的时间!
react-native - 如何在反应原生中测试模态和门户内的 RN 组件渲染
我正在使用react-native-paper库作为我的 UI 组件库。我正在使用在 Portal 中呈现的 Modal 组件,如下所示
为了编写单元测试用例,我使用@testing-library/react-native。
我的问题是如何测试模型内部渲染的组件。当我使用debug()时没有在其中获取 Modal 节点。
typescript - 在 react-native 测试中模拟硬件回压
以下帖子在一定程度上描述了我的问题
如何在 react-native 测试中模拟 android 后退按钮,但在我的情况下,我实际上并没有使用BackHandler
,而是模态上的onRequestClose道具。
那么有什么方法可以实际触发模拟的后按,因为onRequestClose
道具是从java 代码触发的?
破解解决方案: