问题标签 [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.
reactjs - 为什么在 dispatchEvent 上不调用 React 事件处理程序?
考虑 React 组件中的以下输入元素:
在测试 React 组件时,我正在模拟用户更改输入值:
正如预期的那样,这会导致'onChange'
被记录。
但是,当'change'
事件被直接分派时(我使用的是 jsdom):
处理onChange
程序没有被调用。
为什么?
我使用dispatchEvent
而不是的动机TestUtils.Simulate
是因为TestUtils.Simulate
不支持事件冒泡,而我的组件的行为依赖于此。我想知道是否有办法在没有 的情况下测试事件TestUtils.Simulate
?
reactjs - 测试反应组件componentDidMount,每次测试后如何渲染到新文档中?
测试运行,但它们呈现到同一个文档中。在 componentDidMount 上,样式组件将 CSS 文本附加到带有类的 head 中的样式元素.reactive-style
(知道这是非正统的,而不是特殊的 React)。如果.reactive-style
尚不存在,则创建样式元素并将其添加到头部。明智的测试——为了简单起见——我需要为每个测试用例渲染一个新文档。
测试如下所示:
当前输出显示 head 中目标样式元素的 innerHTML 随着每个测试的增长(不需要,每个测试用例都需要新文档):
看看第二个测试如何包含第一个测试的结果?目标是通过渲染到新文档来避免这种情况。
已经尝试了几件事,例如.reactive-style
通过将元素的 innerHTML 清空,document.head.querySelector('.reactive-style').innerHTML = '';
但是当expect()
运行时styleNode.textContent
显示为空,因此不起作用(可能是因为expect()
正在运行异步并且innerHTML
同步清除)。干杯并感谢您的任何帮助。
reactjs - 假服务器响应正文应该是字符串,但未定义
我正在尝试使用 mocha、chai 和 sinon 对 react 组件进行单元测试。
我的第一个测试成功了,它很简单地检查组件是否存在以及是否正确使用了道具。
现在我在测试中遇到了 ajax 问题。
这是我的代码:
我收到此错误消息:
怎么了?
提前致谢
reactjs - React 组件测试一直失败
在测试我的 TodoList 组件时,我不断收到此错误:
debug.html:38
Invariant Violation:
元素类型无效:
期望字符串(用于内置组件)或类/函数(用于复合组件)但得到:对象。
我不确定是什么原因造成的。谁能引导我走向正确的方向?
TodoList.js:
TodoList.test.js:
链接到源代码:链接到源代码
reactjs - 测试 React Select 组件
https://github.com/JedWatson/react-select
我想使用 React-Select 反应组件,但我需要添加测试。
我已经尝试了几个在谷歌上找到的选项,但似乎没有任何效果。我有下面的代码,但它不会导致更改事件。我已经能够添加一个焦点事件,它添加了 'is-focussed' 类,但仍然缺少 'is-open' 类。
我用过:https ://github.com/JedWatson/react-select/blob/master/test/Select-test.js作为参考
我曾尝试仅在输入字段上使用更改事件,但这也无济于事。我注意到有一个onInputChange={this.change}
选择。
测试
被测组件
命令行 要运行测试,我会:
在 package.js 我有这个脚本:
测试设置
和 browser.js 是:
我也尝试过使用此处概述的测试方法:https ://github.com/StephenGrider/ReduxSimpleStarter
任何帮助将不胜感激
javascript - Reactjs 测试 api 调用
我想开发usign Reactjs,我制作了一个应用程序,我在其中调用了一个api(https://jsonplaceholder.typicode.com/users),我也对此调用进行了测试,但我无法调用这个api。
我在 .Net 中做了一个小 WebApi 项目,这个 WebApi 有一个端点,它返回一个具有这种简单结构的 json {{person:1},{person:2}}
:。我使用邮递员和 Visual 中的断点测试了这个端点,它工作正常。
现在我想使用React的测试套件(我不知道它是否是测试套件,mpn测试),来调用这个端点但是测试没有调用端点,因为视觉中的断点没有激活,不知道Reactjs测试能不能调用Apis。
这是文件:
reactjs - 反应组件测试找不到文本
我正在为我创建的特定组件编写测试用例。组件在这里
这个组件的测试用例在这里:
我正在尝试测试isSearched
isfalse
和activeTab
设置为的情况one-way
。我已经传入了适当的道具,并将日志语句放入组件中以验证是否正在执行正确的 if/else 块,但我一直收到错误消息:
有人可以指导我或为此提供见解吗?
unit-testing - React.js 和 Jasmine 间谍
使用基本的 test-utils 和 jasmine 进行单元测试。
你如何监视 React 组件中的函数?
测试.js:
我收到以下错误:
有任何想法吗?谢谢!
reactjs - React 测试:在组件中查找组件
我可以在下面的代码中的第一个“查找器”中找到一个组件
如果我然后使用返回的 Component 对象并使用它来找到更深的对象,如下所示:
我收到此错误:
不变量违规:findAllInRenderedTree(...):实例必须是不变量的复合组件 (node_modules/fbjs/lib/invariant.js:44:15)
我无法弄清楚findRenderedDOMComponentWithClass返回的类型是什么,因为 (a) Javascript 和 (b) ReactTestUtils几乎没有任何文档。
我的整个测试看起来像这样:
javascript - 在 Chrome 中使用 Karma 测试 React 组件时内存/cpu 使用率非常高
目前在我的项目中,我正在使用 Karma 和 Mocha,以及 React Test-Utils 来测试我的反应组件。
我目前有大约 1200 个测试,其中大部分是针对我的反应组件库的。
运行这些测试时,chrome 的内存经常超过 2gb,其 CPU 使用率飙升超过 30%
我的大多数测试看起来像这样 -
这里有什么明显的东西会导致如此高的 CPU 和内存使用率吗?我所看到的使用量是否与此数量的测试有关?
我可以看到,当测试运行时,chrome 窗口一次充满了许多不同的渲染组件,似乎没有卸载它们,我是否可能在测试中错过了需要卸载或销毁渲染组件的步骤?