问题标签 [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.

0 投票
1 回答
17010 浏览

javascript - 用酶反应测试组件道具的变化

我正在修改此处找到的示例:

https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.md

您可以从测试结果中看到 className 属性在 prop 更改时正确更新。但是输入的值仍然错误地设置为“foo”。

关于如何断言在接收新道具的组件上的值已正确更改为输入上的值属性的任何想法?

0 投票
1 回答
2535 浏览

javascript - 如果 React 组件需要 jQuery,Enzyme 会抛出错误

我正在尝试使用 EnzymedescribeWithDOM()mount(). 但是当组件导入 jQuery 我得到这个错误:

错误:jQuery 需要一个带有文档的窗口

我知道 Enzyme 在后台使用 jsdom,我一直认为 jsdom 负责处理窗口和文档。但我似乎无法找到如何让这些一起工作。

测试代码如下所示:

在按钮 onClick 方法中调用了一个 jquery 函数:$('#inputSelector').focus()

如何让 Enzyme 和 jsdom 在测试中使用 jquery?

0 投票
1 回答
6657 浏览

reactjs - Mocha 无法识别 JSX

我正在尝试使用 mocha 和酶来更新我的单元测试。我正在测试的代码在 ES6 中,使用 JSX 和 React。

在我的测试脚本中,我无法让 mocha 在 JSX 上不出错。

测试脚本:

});

gulpfile.js:

输出是:

我通过 browserify 运行源代码并将其放入测试目录中以证明它不是 mocha/enzyme 本身,从而成功运行了测试。我的问题只是试图让 gulp 魔法正确。

0 投票
2 回答
7822 浏览

unit-testing - 如何测试一个 React 组件是否包含另一个带有 Tape 和 Enzyme 的组件?

假设我有以下React组件:

我想设置一个测试,以确保用户在渲染时看到一个material-ui AppBar ,为此使用TapeEnzymeNavBar

我怎样才能正确地做到这一点?

0 投票
2 回答
3992 浏览

unit-testing - 如何测试`material-ui` AppBar的图标按钮上的`click`事件?

我正在测试以下React组件:

它由一个material-ui AppBar组件组成。使用Tape and Enzyme,我想clickAppBar's上模拟一个IconButton

我怎样才能正确地做到这一点?

Obs:我正在搜索,IconButton因为根据React Dev Tools选项卡,这是呈现的图标按钮组件的名称。

0 投票
2 回答
8797 浏览

unit-testing - 当组件是无状态功能时,通过显示名称查找组件,使用 Enzyme

我有以下组件:

我想设置一个测试,看看App组件是否包含一个Hello组件。我尝试了以下方法,使用Tapeand Enzyme

但结果是 result 的length属性find等于0,而我期望它等于1。那么,如何找到我的Hello组件?

0 投票
2 回答
6637 浏览

reactjs - Mocha, Enzyme:使用酶对反应组件中的自定义函数进行单元测试

我正在使用 mocha、酶创建反应组件的单元测试。下面是一个示例组件。

Foo.js

这是测试文件。

Foo-Test.js

万事皆安。但是当我们使用酶时,我不明白如何在 Foo.js 中对 customFunction 进行单元测试

0 投票
1 回答
5105 浏览

javascript - 酶导入参考错误

我正在尝试使用酶和玩笑为反应原生组件编写基本测试。我收到一个错误,暗示没有正确导入酶:

由于我是新手,我尝试过重新安装酶包并盲目地摆弄代码。不使用来自酶工作的浅层的基本测试,即expect(true).toBe(true)。我已经浏览了很多关于 JS 中的 referenceErrors 的问题,但似乎没有一个适用于这种情况(无论如何,在我没有经验的眼里)。

这是测试文件。非常简单,限制了错误的来源。

据我所知,我的 package.json 具有正确的依赖关系。我试过重新安装酶但没有成功。这里是:

在这种情况下可能/会抛出这个 ReferenceError 是什么?如果我尝试 mocha/chai 看看是否可行,我可能会很快发表评论,但我宁愿在这一点上继续开玩笑。

0 投票
1 回答
445 浏览

mocha.js - 摩卡酶全球范围界定问题

我正在使用摩卡咖啡和酶来测试我的反应成分。我对反应组件中的全局范围(localStorage)有疑问。

Foo.js

下面是 Foo 组件的单元测试代码。

当我运行测试时,我收到以下错误。

ReferenceError: localStorage 未定义

当像 localStorage 这样的全局对象存在组件渲染方法时,似乎会发生此错误。

有什么解决办法吗??

0 投票
3 回答
7797 浏览

reactjs - componentDidMount 中使用的 setState 值未反映在 Enzyme 测试中

组件.js

组件.test.js

测试没有通过。wrapper.state('cats').length总是0

我知道这setState不能保证立即更新状态,但是如果我在组件中记录“猫”,我可以看到它正在更新。