问题标签 [chai-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.
reactjs - 如何断言具有多个标签的 React 组件具有带有给定 href的标签
我正在尝试为 React 组件编写mocha测试。基本上,组件需要呈现一个 <a> 标签,其 href 设置为传入的属性中的一个值。问题是组件可以以不可预知的顺序呈现多个 <a> 标签,并且只有一个标签必须有正确的href。
以下是我真实代码的精简版,但没有一个测试通过:
reactjs - 用酶模拟“更改”后复选框未“选中”
我尝试使用酶来模拟change
复选框上的事件,并使用chai-enzyme
它来断言它是否已被选中。
这是我的Hello
反应组件:
我的测试:
当我运行这个测试时,checkbox.get(0).checked
isfalse
和断言checkbox.should.be.checked()
报告错误:
您可以看到该消息很奇怪,因为checked="checked"
输出中已经存在。
我不确定哪里错了,因为它涉及的东西太多了。
您还可以在此处查看演示项目:https ://github.com/js-demos/react-enzyme-simulate-checkbox-events-demo ,注意这些行
reactjs - Enzyme Shallow() 返回一个不能正确使用选择器的元素
我希望这可以工作,但它没有:
我得到了假,虽然我期待它返回真。
使用mount()
而不是shallow()
返回true
为什么?谢谢!
reactjs - 如何使用 React+enzyme 测试子组件不存在
假设我有一个组件,它有一个控制按钮是否显示的道具。我正在添加以下测试以确保始终观察到道具。
我的问题是:有没有更好的方法来测试组件中不存在某些东西?
我正在寻找更详细的内容。有没有其他类似的链条.to.not.exist
?
reactjs - 使用 mocha、chai、chai-enzyme 和 react-create-app
我正在为我的反应应用程序使用react-create-app 样板,它很棒。但我对 jest 测试框架的工作方式不太满意,我想使用 mocha、chai、chai-enzyme。
如何将测试框架更改为上述堆栈?
谢谢。
webpack - 如何在 Karma 中跨包应用 Chai 插件?
我正在使用 Karma + Mocha + Chai + Webpack 运行测试。我想在我的测试中应用多个 Chai 插件。我正在使用下面的 Karma 配置,它将我的测试分成多个包。
我尝试使用karma-chai
创建一个全局chai
实例,然后加载将插件应用到全局实例的代码。(见CHAI_CONFIG_PATH
和plugins.config.js
):
应用 chai 插件:
香草 Webpack 配置:
这一直有效,直到我添加chai-enzyme
. config/chai/plugins.config.js
在它自己的包中运行,它会加载enzyme
. 我的测试在另一个包中运行,该包enzyme
再次加载。两个enzyme
s不一样。在每个断言上chai-enzyme
运行,但为假。wrap(myShallowWrapper)
el instanceof ShallowWrapper
我想将捆绑包分开以使开发测试更容易。我发现的唯一解决方法是在每个测试文件的顶部导入plugins.config.js
,但这似乎很棘手。有没有可以让我将 Chai 插件应用到每个包的配置?
reactjs - 摩卡和酶 - 相同的测试第二次失败
我正在尝试使用一些 propType 逻辑测试一个 React 组件。该组件应采用myprop
应该匹配的道具{value: [anything]}
。
第一个测试有效,但第二个(完全相同的代码)没有。
知道为什么吗?
编辑:我认为 React 不是console.error()
每次都调用,而是只调用一次。可能是为了避免向控制台发送垃圾邮件......
javascript - 使用酶、sinon 测试反应组件内部加载的图像
我正在尝试测试是否正在为我的组件内的图像调用函数回调。
这是组件:
我的测试挂载了组件,然后监视回调函数:
测试失败是因为内部Img
标签从不调用它的onload
noronerror
方法。在生产中,代码运行良好,可能与测试环境有关。它的likeImg
标签不会对url
正在设置的内容做出反应。
reactjs - JSLint 抛出一个错误 - 期望一个赋值或函数调用,而是看到一个表达式
我正在尝试为组件编写测试用例。测试用例正在通过。但是 JS lint 困扰着我。它抛出一个错误 - :期望一个赋值或函数调用,而是看到一个表达式
错误来了:expect(dummyOutput.find('h1.screen-reader-text')).to.exist;
我完整的测试用例代码如下。任何人都可以在这里帮我解决错误吗?