问题标签 [reactjs-testutils]

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

reactjs - 如何使用 Jest 测试连接到存储的 React 视图?

我有一个与store通信的React 视图。我已经成功地分别测试了视图和商店,但没有组合在一起。

我遵循了此处记录的结构,但收到了TypeError。看起来 Jest 正在尝试将商店注册为组件,即使我使用dontMock.

我已经包含了我认为是下面的相关代码,但如有必要,可以完整提供。

查看笑话测试

谢谢!

0 投票
1 回答
1246 浏览

reactjs - Jest + React TestUtils:使用 TestUtils.renderIntoDocument 渲染标签

我正在编写一个 React 组件,该组件依赖于特定名称的元标记出现在 DOM 的头部区域中,因此我尝试使用 TestUtils.renderIntoDocument 来创建该元标记以运行我的 Jest 测试,即不工作。

这可以通过 React TestUtils 或 React 本身以某种方式完成吗?

结果是一个超长的错误堆栈跟踪: 在此处输入图像描述

我的 preprocessor.js 文件:

0 投票
1 回答
2843 浏览

reactjs - 为什么 Jest 在测试 React 组件时会抛出“Unexpected token ILLEGAL”?

我按照Jest - React 教程测试了一个 React 组件。

不幸的是,Jest 抛出:

重现:

  1. git clone git@github.com:SEEK-Jobs/react-playground.git
  2. cd react-playground
  3. npm install
  4. npm test

有任何想法吗?


更新 1:

我想知道问题是否在于 Jest 不了解 ES6,我需要使用6to5-jest.

有没有办法指定 2 个预处理器package.json

0 投票
1 回答
11239 浏览

reactjs - 用 Jest 测试 React 元素高度

我有一个非常简单的 React.js 组件,它用“阅读更多”/“阅读更少”功能装饰一长串标记。

我对 Jest 进行了一些测试,但是,我无法断言 DOM 元素的高度正在增加到原始内容的大小。

在 Jest 测试环境中,我对 getDOMNode().scrollHeight 的调用似乎没有返回任何内容。

这是包含代码和未通过测试的存储库的链接:https ://github.com/mguterl/react-jest-dom-question

以下是说明相同问题的代码和测试的简化版本:

简化代码

测试

0 投票
1 回答
2408 浏览

reactjs - How to check if component has child component

I am using Jest to test a ReactJS app. How can one test if the view controller has the necessary child components present.

For example, here is an example of the view controllers' render function:

For HTML elements, something like will do:

How can I do the same for the Form or Table components ?

Thank you!

0 投票
2 回答
10484 浏览

reactjs - How to test HTML of a rendered React component?

My React component has a suggestionRenderer property that allows to specify how the component is rendered. For example:

Now, I'd like to write a jest test to make sure that suggestionRenderer does its job. Inspecting myElement.getDOMNode().innerHTML reveals:

which is not particularly useful.

Is there a way to get a clean HTML, without React attributes?

0 投票
1 回答
926 浏览

reactjs - React Mocha 渲染,DOMException Wrong Document

使用 React 13.2 并希望使用此gist中所示的设置来测试生命周期。如果我不停止后续渲染(通过shouldComponentUpdate方法),那么任何事情都会导致渲染(在初始之后)以DOMException Wrong Document爆炸:

JSDOM 之所以放弃,是因为父节点不是文档,并且它与插入的子节点不共享同一个所有者文档。是的。除非 React 在幕后做一些时髦的事情,否则拥有的文档怎么可能是全局的。

只是惊讶于我没有看到更多人有类似的问题?我的 Mocha 设置和渲染的 JSX 组件都没有什么奇怪的地方。加上初始渲染很顺利。

0 投票
2 回答
4117 浏览

javascript - React.addons.TestUtils.Simulate.scroll 不工作

我正在尝试使用 ReactJS 和 JSDOM 模拟滚动事件。

最初我尝试了以下方法:

滚动事件根本不传播。然后,我手动创建了事件,一切正常:

问题:我在 TestUtils 上做错了吗?我怎样才能让它发挥作用?

0 投票
2 回答
2247 浏览

reactjs - 错误:不变违规:dangerousRenderMarkup(...):无法在工作线程中呈现标记

设置状态导致第二次渲染后反应测试失败

到目前为止,JSDOM 和 Mocha 的测试进展顺利。到目前为止,还没有测试任何改变其状态的组件。我发现我的第一个问题是测试一个改变其状态的组件。

错误

组件:Reduce.js

测试:1-通过,1-失败

结果

我已经疯了

  • 一切都在 global.window 和 global.document 之后加载
  • 模拟事件调用 edit(),然后在出错前调用 render()
  • 在此状态更改问题之前,所有 React Mocha JSDOM 测试都运行良好
  • 请帮忙 ???
0 投票
1 回答
1290 浏览

javascript - ReactJS 和 Jest - “对象分配” - 无法调用未定义的方法“addChangeListener”

所以我正在测试一个组件,我需要它与我的商店一起行动以获得正确的可测试行为。我已经读过,因为“视图”需要商店才能运行,所以我不需要模拟商店,也不需要模拟“对象分配”的东西。

测试代码摘录:

以及视图中的一些代码:

现在,在运行测试时,我得到

......在我的改变听众线上,尽管我(认为我)在“不嘲笑”事情时正在做正确的事情。

任何人都知道为什么我会得到这个,仍然吗?