问题标签 [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.

0 投票
1 回答
148 浏览

react-native - React Native 测试框架 findBy 没有找到并且 waitFor 没有等待

这是一个图片库,我相信它可以正常工作。它在模拟器中运行良好。我尝试过相同测试的变体:

在这两种情况下,测试都失败了:无法在未安装的组件上找到节点。

在我的 tsx 文件中,我有一个 useEffect 挂钩,可以在显示之前预加载所有图像。然后它更新状态(这会导致另一个不相关的问题)

然后在返回中:

就像我说的,代码在模拟器中运行良好,加载时间不到 4.5 秒。建议?

0 投票
1 回答
551 浏览

reactjs - 带有 react-native 测试库的样式化组件主题

我已经被困了一段时间,试图弄清楚我在这里做错了什么,我觉得我已经尝试了我找到的所有解决方案,但它不起作用。为了描述正在发生的事情,我制作了最简单的组件来展示正在发生的事情。

这是我的主题

这是我的组件

很简单,只是用来自主题的白色背景包裹一些东西。

最后,这是我的简单测试

这是抛出的错误。基本上说主题提供者没有将主题传递给组件,原因我似乎无法弄清楚。

我觉得我已经尝试了我在这里找到的所有东西,人们遇到了同样的问题,但似乎没有任何效果。唯一可行的是我手动将主题传递给 Wrapper,这不是一个可行的解决方案,因为我有一个大型应用程序,它在所有地方都使用样式组件中的主题。

每当我之前使用颜色文件时,我的所有测试都通过了,但是一旦我将它切换到主题,一切都坏了

我也尝试了这里引用的所有内容。

有谁知道我可能做错了什么?

0 投票
0 回答
310 浏览

firebase - 如何使用带有@react-native-firebase/firestore 的玩笑来模拟firebase firestore

我是测试新手,我正在尝试使用 Jest 伪造文档更新调用。为此,我使用了 react-native-testing-library 和 react-native-firebase。

下面是我的测试套件。我有一个输入,当我更改它的值时,应该更新文档

运行测试后,Jest 从函数(如下)中指示一个 console.log,以确认文档已更新并且测试通过。

我不明白的是如何使用 expect 方法检查文档是否在最后一行更新,expect(firestore()…) 我在整个模拟部分真的很困惑,任何帮助将不胜感激!

belove 是被调用的函数:

0 投票
1 回答
481 浏览

react-native - 如何正确测试 Toast 是否已使用本机基础在本机反应中显示?

我正在尝试编写一个测试来检查屏幕是否显示带有错误消息的 Toast。测试通过,但有警告:

屏幕工作正常,我只是在学习如何编写测试。这是我的测试:

我做错了什么?反应原生测试肯定存在问题,因为某些异步查询存在问题,尤其是当您有多个异步查询时。我在这里发现:https ://github.com/callstack/react-native-testing-library/issues/379#issuecomment-720734366

我正在使用本机基础来显示 Toast,我认为它正在使用 Animated。我应该使用 jest.useFakeTimers() 以及如何使用?

0 投票
1 回答
269 浏览

typescript - 使用 React Native 测试 React Navigation 的类型安全

航海家

欢迎画面

测试

有了这一切,我从打字稿中得到了这个错误:

我该如何解决这个问题?

我正在尝试测试是否在应用程序呈现列表屏幕组件的屏幕中单击。

谢谢你。

PS:顺便说一句,测试通过

0 投票
0 回答
27 浏览

react-native - 如何使用 React 原生测试库写出功能组件的方法

这是用于反应原生测试库。

所以我今天已经看过两次了,我不知道如何为谷歌提出这个问题。当我运行我的 Jest 测试时,我得到以下信息:

因此,作为一种解决方法,我这样做了:

它仍然给了我:

你怎么说你想期待[Function _onBack]?任何帮助,将不胜感激 :)

0 投票
2 回答
226 浏览

react-native - IDE 无法识别 Jest 及其功能

我有一个基本的 react-native/expo 模板应用程序。我已经在 dev 依赖项中添加了jest-exporeact-test-renderer,并且还更新了 package.json,就像在expo docs for testing中记录的那样。

我还添加React Native Testing Library了测试 UI。并且测试运行良好。

但问题是 WebStorm IDE 无法识别 Jest 及其功能。

在此处输入图像描述

在此处输入图像描述

你能帮我解决这个问题吗?

更新

根据评论,我尝试通过设置配置安装 Typescript Jest 类型定义,还尝试使用 yarn/npm 安装。但这没有帮助。

在此处输入图像描述

另一个更新

但是,如果我取消选中项目的 node_modules 库,Jest 类型定义就会启动。

在此处输入图像描述

但是这样做,其他类型的 node_modules 不起作用!

0 投票
2 回答
1127 浏览

react-native - 使用 Jest 运行 testing-library/react-native 时,RNEncryptedStorage 未定义

我正在尝试使用react-native-testing-library和 Jest 设置我的 react-native 测试环境。我的 react-native 应用程序使用react-native-encrypted-storage. 当我运行我的第一个示例测试(下面的代码)时,它失败说RNEcryptedStorage未定义。

完整错误:

RNEncryptedStorage 未定义

在对象。(node_modules/react-native-encrypted-storage/lib/commonjs/EncryptedStorage.ts:7:9)在对象。(node_modules/react-native-encrypted-storage/lib/commonjs/index.ts:1:1)

这是我第一次设置我的测试环境,所以不知道从哪里开始解决这个问题。

0 投票
0 回答
267 浏览

react-native - 如何在 .map 循环笑话测试库中覆盖 onPress 的 touchableOpacity

我正在尝试使用 Jest 和测试库在 React Native 中编写测试用例。我有一个.map函数,它使用TouchableOpacity.

ItemView 看起来像

对于上述情况,如果我 fireEvent(getByTestId("TouchablePress"), "press"); 在测试文件中调用,则测试正在获取文件,说明找到了具有相同 ID“TouchablePress”的多个组件。

关于如何在不失败的情况下覆盖此测试的任何建议?

0 投票
0 回答
92 浏览

react-native - 尝试安装 @testing-library/react-native 时出错

运行时不断出现错误npm install --save-dev @testing-library/react-native。我该如何安装@testing-library/react-native?我检查了我的节点模块文件夹,我已经@testing-library/react安装了。这是我得到的错误: