问题标签 [enzyme]
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.
javascript - 如何测试在设置 React 组件状态的 componentDidMount 中进行的异步调用
测试异步调用componentDidMount
是否为 React 组件设置状态的最佳方法是什么?对于上下文,我用于测试的库是Mocha
、Chai
、Enzyme
和Sinon
.
这是一个示例代码:
reactjs - 如何在酶中为反应组件设置对象类型道具值?
我尝试了两种方法,
1.
2.
但是两个道具仍然未定义
javascript - ReactJS & Enzyme:将元素内容与字符串匹配
我在 React.js 中有一个简单的 Intro 组件,它呈现一个 h1 和一个 p。
我正在尝试使用 Enzyme 为通过的 h1 & p 字符串编写测试,但我无法做到这一点。这段代码有什么问题?
如果我控制台记录wrapper.find('p').text()
它不是未定义的......但控制台说这样的:
testing - this.props.children.map 在用酶测试反应组件时不是一个函数
我有一个 React 组件,它也使用它的子组件this.props.children
:
到目前为止,这在浏览器中效果很好,但是当我想使用酶对其进行测试时,我得到了一个奇怪的错误。这是测试:
当我想执行该测试时,我收到以下错误消息:
我试图用mount
and来做到这一点shallow
,尽管我当然更喜欢shallow
。但是这两个功能都没有按我的预期工作。因为mount
我也在使用 jsdom,setup.js
测试中包含以下脚本:
和想法我做错了什么?
更新:
当我console.log(this.props.children)
在代码中添加 a 时,我在测试中得到以下结构:
reactjs - 如何将外部库加载到 jsdom 以测试带有酶全渲染的 reactjs 模块
我有一个使用谷歌地图的反应模块,所以它需要谷歌在执行测试之前将 javascript 加载到 DOM 中。如何将这些外部库加载到 jsdom 中?
javascript - Enzyme React setTimeout 相关测试导致错误
我想测试是否在使用酶和 sinon-mocha 的 React 组件中的某个时间间隔后调用方法。
反应组件
单元测试
错误
它抛出断言错误。测试在计时事件中崩溃,这是我使用包装器节点上的一些控制台日志确定的。它说堆栈跟踪错误。但是,测试用例触发了myFunc
,这从控制台日志中可以明显看出。
如何捕获myFunc
通话?有谁知道为什么会这样?
控制台错误与此https://github.com/sinonjs/sinon/issues/87#issuecomment-8547823相同
更新
堆栈跟踪:
reactjs - 浅渲染使用 Refs 的 React/Enzyme 组件
我有一个用 Enzyme 测试的 React 组件,例如,它看起来像这样:
我正在使用 Mocha/Chai/Enzyme 编写一些单元测试,我想模拟按钮按下以检查我的 props func 是否被调用。
我的基本酶测试如下所示:
有什么方法可以调整测试或我的组件代码以避免this.button
在点击处理程序中访问时出错?我得到“TypeError:无法读取未定义的属性'classList'”。
我想把它作为一个浅渲染单元测试,不想用 mount 深度渲染这个组件,这需要使用类似浏览器的环境,比如 jsdom。
谢谢。
meteor - 如何在测试 React 组件时传递 FlowRouter 上下文
我正在测试一个有 5 个链接的反应组件。每个链接都根据当前路由变为活动状态。我正在使用带有 Mantra 和酶的 Meteor 来测试这些组件。
页脚组件:
测试
但是当我运行时npm test
,它说FlowRouter is not defined.
如何在测试中将 FlowRouter 上下文传递给反应组件?提前致谢
unit-testing - 酶:无状态功能组件返回未定义的道具
我有一个使用 Enzyme 浅层渲染测试的 SFC。我将带有内联样式的样式对象作为道具传递给这个无状态组件。但是,当我对其应用单元测试时,它返回未定义。我不确定这是否可以,因为我知道这个组件只是返回作为道具传递给它的任何东西,并且没有任何东西被传递/渲染,它给了我未定义的东西。有什么解决方法吗?
测试:
unit-testing - 酶:BrowserHistory 函数测试失败
我对单元测试相当陌生。我正在使用 react+redux 并且我已经创建了一个NotFound
页面/组件并且我正在编写它的单元测试。我需要测试一个失败的 onClick 事件。
404.jsx
测试.js
即使这样,它也会给我一个错误Cannot read property 'goBack' of undefined
先感谢您。