使用 Enzyme 与 Jest
使用 Jest 配置
要运行设置文件以配置 Enzyme 和 Adapter(如 安装文档 中所示)与 Jest,请在您的配置文件中设置 setupFilesAfterEnv
(以前为 setupTestFrameworkScriptFile
)(查看 Jest 文档 以了解该配置文件的可能位置)为字面上的字符串 <rootDir>
和您的设置文件的路径。
{
"jest": {
"setupFilesAfterEnv": ["<rootDir>src/setupTests.js"]
}
}
Jest 版本 15 及更高版本
从版本 15 开始,Jest 不再默认模拟模块。因此,您不再需要添加任何特殊配置来让 Jest 与 enzyme 一起使用。
按照Jest 文档中的建议,安装 Jest 及其 Babel 集成。安装 enzyme。然后,只需在测试文件顶部引入 React、enzyme 函数和您的模块。
import React from 'react';
import { shallow, mount, render } from 'enzyme';
import Foo from '../Foo';
您**不需要**包含 Jest 自身的渲染器,除非您只想将其用于 Jest 快照测试。
Jest 15+ 版本的示例项目
Jest 15 版本之前的版本
如果您使用的是 Jest 0.9 – 14.0 与 enzyme,并且使用 Jest 的自动模拟功能,则需要在您的 package.json
中将 react 和 enzyme 标记为未模拟。
package.json
:
{
"jest": {
"unmockedModulePathPatterns": [
"node_modules/react/",
"node_modules/enzyme/"
]
}
}
如果您使用的是 Jest 的早期版本以及 npm3,您可能需要取消模拟更多模块。