问题标签 [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 投票
1 回答
258 浏览

reactjs - 使用 react-test-renderer 测试 Formik 验证功能

我正在尝试使用via和测试我的validate功能。react-test-rendereronChangeonBlur

这是一个简化的测试:

0 投票
1 回答
1239 浏览

reactjs - 如何使用反应测试库对父组件中子组件的渲染进行单元测试?

我无法在此处发布原始代码,因此我将尝试解释我想要实现的目标。所以,我的组件显示消息。此消息是在父组件中呈现的子组件的一部分。所以,我想对这个逻辑进行单元测试。但我不知道如何编写单元测试来呈现子组件反应测试库中的组件。示例代码:

所以我想编写单元测试来使用react-testing-library在我的父组件中实现警告组件的呈现。

0 投票
1 回答
267 浏览

reactjs - React Typescript 测试 - 目标容器不是 DOM 元素

我是测试 React/Typescript 应用程序的新手。

命令(别名react-scripts test):

输出:

简单的测试代码:

src/index.tsx 文件实际上包含ReactDOM.render()在测试中失败的调用,但有什么可行的替代方法?

注意:应用程序本身运行良好,只是无法在测试模式下运行。


在 src/index.tsx 文件中我有:

然后在服务和传奇中,我historystoreindex.tsx 导入。可能是导致测试失败的问题吗?


我试图提取history并保存store到一个单独的文件中(如评论者所建议的那样)。现在上面的代码在里面src/initialState.ts

  • 好消息:错误“目标容器不是 DOM 元素”消失了!
  • 坏消息:我收到一个新错误(可能是一个独立的问题,因此提取到一个单独的问题
0 投票
1 回答
4833 浏览

reactjs - React Jest 测试无法使用 ts-jest 运行 - 在导入的文件中遇到意外的令牌

我是测试 React/Typescript 应用程序的新手。我想对我的 React 组件进行单元测试,因为我不满足于开发没有测试的应用程序。该应用程序本身运行良好,只是无法在测试模式下运行。

命令(别名react-scripts test):

输出:

@amcharts/amcharts4我对图书馆有依赖。Feature虽然页面不使用amCharts,但该库在其他页面中使用。

页面的简单测试代码Feature

Feature我的功能性 React 组件 (TSX)在哪里。这是一个由其他组件组成的页面。

在阅读了类似的问题后,我怀疑我的应用配置有问题。所以这是我的配置:

.babelrc

tsconfig.json:


您可能会问:“您尝试过哪些解决方案?”

A.我添加了以下jest.config.js,并没有解决问题:

B. 我尝试编辑 tsconfig.json:

C. Muni Kumar 的建议:

tsconfig.json 的变化:

更新了一个依赖:

jest.config.js 的变化:

D. 类似问题的回答:https ://stackoverflow.com/a/56775501/1429387

jest.config.js:

E.威廉的回答:https ://stackoverflow.com/a/62377853/1429387

package.json 的变化:

输出,新错误:


我还能尝试什么?如何解决这个问题?

0 投票
1 回答
134 浏览

javascript - 如何通过模拟来测试 axios 本身?

我刚刚开始学习反应单元测试,整个模拟的东西让我感到困惑,我无法理解。

我正在使用 axios 来获取数据并将其显示在应用程序组件中:

我在 app.test.js 中测试了整个加载和命名:

所有这些测试都成功通过。

我想要实现的是如何通过在 app.test.js 中以最简单的方式模拟它来测试 axios 本身?

0 投票
1 回答
607 浏览

reactjs - Context 和 Reducer 的 React 单元测试

LauoutContext.js为我的应用程序需求创建了一个。还使用 router位置来获取 URL/路径名。并将减速器传递给孩子。

JS 文件:LayoutContext.js

测试文件: LayoutContext.test.js

错误:

警告:React.createElement:类型无效——需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。

我怎样才能测试这个上下文?

这里 Dashboard.js 文件:

0 投票
0 回答
301 浏览

reactjs - 使用 react-test-renderer 和 typescript 测试 MUI 菜单组件

给定 then 组件Menu.tsx

和快照测试Menu.test.tsx

运行测试给出错误TypeError: parentInstance.children.indexOf is not a function

谷歌搜索后,我尝试添加 createNodeMock 函数:

这会产生错误Argument appears to not be a ReactComponent. Keys: type,props

不太了解幕后发生了什么,所以我发现的解决方法对我不起作用。测试这个的正确方法是什么?

链接到代码sanbox.io

0 投票
1 回答
142 浏览

javascript - 在功能组件中测试功能

我创建了一个卡片组件并为此编写了测试用例,但是在查看测试覆盖率时,我发现该组件的分支覆盖率为 50%。测试用例中缺少的部分是 onPress 函数中 else 部分的测试。

Q1。我怎样才能测试这个缺失的部分并增加我的覆盖率?

Q2。我们如何单独测试 Card 组件的 onPress 功能?

0 投票
0 回答
804 浏览

reactjs - React 测试 - 如何测试使用 render props 渲染的 jsx 中的函数

我想测试使用 render prop 渲染的 jsx 的内容。我使用react-test-renderer进行测试。

这是Menu具有我要测试的渲染道具的组件:

Menu 组件如下所示:

我正在尝试为此组件编写一些测试:

我正在尝试获取,MenuList因为我想测试组件onClick道具上的功能。MenuItem我正在使用setupTeardownWithTestRenderer功能设置测试:

SimpleTestContext 是一个类,它有一些帮助方法来设置测试:

我的问题是,如果我在尝试查找 MenuList 的地方运行测试,例如:

我收到一个错误:

错误:找不到节点类型的实例:“未定义”

如何测试使用 render prop 渲染 jsx 的组件渲染了什么?

0 投票
0 回答
259 浏览

reactjs - 无法为 FHIR 客户端 api 调用编写单元测试用例

我有组件 Componnent1 并且在 componentDidMount 内部我有以下代码:-

我收到了这个错误

● 按预期呈现

console.error internal/process/next_tick.js:68 TypeError: client.request is not a function at _fhirclient.default.oauth2.ready.then.client (C:\Users\dbdeb\OneDrive\Desktop\patient-application\src \components\my-health-deatails.component\allergies.component\allergies.js:68:16) 在 process._tickCallback (internal/process/next_tick.js:68:7)

我的测试用例就像:-