问题标签 [testing-libraryreact-native]

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 回答
300 浏览

react-native - @testing-library/react-native 简单组件的渲染方法超时

我正在测试应用程序导航堆栈,当渲染一个非常基本的组件时,它会超时并出现以下错误,尽管组件中没有重载。

错误:

error 命令失败,退出代码为 1。 info 访问https://yarnpkg.com/en/docs/cli/run以获取有关此命令的文档。nitinpiparava@Nitins-MacBook-Pro chronextapp % yarn run test yarn run v1.22.10 $ jest FAIL tests /AppStack-test.js (11.447 s) AppStack ✕ 渲染正确的屏幕 (10007 ms)

● AppStack › 呈现正确的屏幕

零件

Ject 模拟设置文件

笑话配置

0 投票
2 回答
204 浏览

react-native - React-Navigation V6 Drawer.Item drawerItemStyle: { display: "none" } 仍然在 react-test-renderer 中渲染 DrawerItem

我正在尝试编写一个测试,其中抽屉项目从不可见变为可见。我实现可见性开关的方式是drawerItemStyle将抽屉项目上的道具从切换display: "none"display: "flex"。这适用于android模拟器。但是,当我使用 react native 测试库渲染 Drawer 导航器时,即使 DrawerItemStyle 属性设置为, DrawerItem 也存在display: "none"

有了这个:

该测试通过:

  1. 是否期望设置显示“无”仍会在 react-test-renderer 中呈现它?
  2. 有没有更好的方法来切换可见性?
  3. 有没有更好的方法来测试能见度?

更新:找到解决方案

我不得不这样做:

0 投票
0 回答
15 浏览

react-native - React-Native-Testing-Library v8.0.* 使 Apollo Mocks 失败

https://github.com/callstack/react-native-testing-library/releases

升级到 @testing-library/react-native@8.0.0 或 @testing-library/react-native@8.0.0.rc 后,我所有的 Apollo Mocks 规范都开始失败,抛出错误 TypeError: (0 , _timers. setTimeout) 不是函数

规格示例

根据我的规范,在渲染组件后,我总是等待下一次更新或将测试包装到 waitFor 中

设置 React v17.0.1 React Native:0.64.2 Jest v26.6.3

笑话配置

0 投票
2 回答
103 浏览

reactjs - 测试时,应将导致 React 状态更新的代码包装到 act(...) 中 - 使用带有 jest axios 的简单 react-native 嵌套屏幕/组件

我是单元测试/玩笑的新手,但我知道一些关于本机反应的知识。我想为我的 HomeScreen 编写一个测试,其中包含一个发出简单请求的组件。代码运行没有任何问题,但当我用 Jest 运行它时失败。

HomeScreen.js

HomeScreen.test.js

APIExample.js

我试图弄清楚为什么它一直说我应该把它包装起来,我到底需要包装什么?我已经尝试将渲染整行包装,但没有成功。

API.Test 是一个简单的 axios.get

我一直收到的错误是: