问题标签 [react-test-renderer]

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 投票
3 回答
849 浏览

reactjs - 元素类型无效 - 导出默认值和默认导入

我正在为我的组件编写测试,这些组件在应用程序中运行良好。导入和使用它们效果很好,但让它们一起工作react-test-renderer并没有那么好。例如,我有一个社交组件,它读取配置并呈现链接。

./components/Social/social.js

./components/Social/index.js

在我的测试中,我正在导入组件并渲染以进行快照测试。测试:

./components/测试/social.spec.js

我只在我的测试中而不是在应用程序中收到错误。

元素类型无效:应为字符串(用于内置组件)或类/函数(用于复合组件)但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。

检查Social.

我尝试了许多小调整,但无济于事。

0 投票
1 回答
892 浏览

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 中获取测试渲染器实例?

0 投票
1 回答
1938 浏览

reactjs - 在 react-test-renderer 测试中渲染 jest 快照之前运行 useEffect 钩子

假设我有以下基本组件Basic.js

使用react-test-renderer,我可以编写以下测试:

当我运行时,它会生成以下笑话快照npm test

如何编写测试以便useEffect运行钩子并反映在快照中?所以生成的快照是这样的:

这是不可能的吗,有没有我可以用来运行这个钩子的测试库?

0 投票
1 回答
2576 浏览

reactjs - 使用 React-Test-Renderer 测试嵌套的 React 组件

我有一个纯 React-Redux 应用程序,它按预期工作。

App.js _

LandingPage有一个名为 Tile 的嵌套组件。

Tile.js有一个我想测试的按钮。

App.test.js工作正常,我可以通过 className 属性找到嵌套的着陆页 div。

但是如果你看到测试调试器 在此处输入图像描述

具有className: body的 div 的孩子没有孩子。这就是它无法找到 Tile 组件的原因。你能建议为什么孩子们对身体无效吗?我以前见过这个,即使我尝试使用酶我也遇到了这个问题。由于它是一个 Redux 包装的组件,我无法直接创建登陆页面或 Tile 组件进行测试。如何测试嵌套项目?

0 投票
1 回答
406 浏览

javascript - 反应测试无法找到用玩笑嘲笑的元素

我正在尝试模拟一个反应选择组件,以便在测试触发事件中使用它。下面是我使用 jest 创建的反应选择。

问题是控制台在控制台中line 1打印未定义。下面是我测试的火灾事件模型:

测试失败为:

为什么在火灾事件发生时该选项没有更新?

0 投票
2 回答
4648 浏览

firebase - 如何使用 Jest 在 React Native 中测试警报

因此,在我的程序中,当用户登录时,如果所有凭据都正确,如果缺少任何详细信息或格式不正确,他们将进入下一页,并在屏幕上显示警报。

如果在按下按钮后显示警报,我如何在 React Native 中使用 Jest 进行测试,并确认警报的文本是否正确?

我的一些组件如下所示:

错误文本是由 Google 的 Firebase 生成的,但我知道它是什么。

0 投票
1 回答
343 浏览

react-native - 如何使用 Jest 在 React Native 中测试 onPress 中的图标

在我的程序中,我有一个可触摸的图标,它将密码字段从隐藏设置为可见,我需要测试按下图标时密码是否可见。我尝试了以下方法:

但是,我收到错误消息:

我该如何解决?

0 投票
0 回答
1620 浏览

unit-testing - 无法使用反应测试渲染器测试 Material-ui Modal

当尝试使用 jest lib 为这样的 Modal 组件编写一个简单的测试时

我收到一个错误:

有没有人知道为什么会发生这种情况以及如何设置测试库?

0 投票
2 回答
13042 浏览

reactjs - React Jest 如何测试跨度是否包含来自挂载快照的某些文本?

我正在测试一个没有任何 id 以便我能够从 Jest 中选择的组件,我安装的组件快照将类似于

那么有什么方法可以让我验证快照中的跨度内的文本是否包含世界English,例如

我在find这里遇到了一些麻烦,我知道它可以通过 id 找到元素,但不幸的是我无法为我的 span 分配任何 id,即使我可以通过 id 找到我的 div,我也无法选择它的子元素,如 div-> h2->跨度...

0 投票
1 回答
1659 浏览

reactjs - 使用 Test Renderer 测试多个 React 组件状态更改

我要测试的组件的状态isSubmitting在我们尝试提交表单时设置为 true,然后在我们收到来自服务器的响应时设置回 false。

我想在每次状态更新后测试组件的状态。

我只能测试第一个组件状态,例如。当我将 isSubmitting 更新为 true 时。

之后如何检查 IsSubmitting 组件是否隐藏?我也收到了一个错误,因为没有将更新包装到 act() 中。