Six*_*ght 1 reactjs jestjs enzyme
我已按照其他项目和线程中的说明进行操作,但无法让 React 找到酶配置文件。
package.json
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"jest": {
"collectCoverageFrom": [
"src/**/*.{js, jsx, mjs}"
],
"setupFiles": [
"<rootDir>src/setupTests.js"
]
}
Run Code Online (Sandbox Code Playgroud)
src/setupTests.js
import Enzyme from "enzyme";
import Adapter from "enzyme-adapter-react-16";
export { shallow, render, mount } from "enzyme";
export { shallowToJson } from "enzyme-to-json";
Enzyme.configure({ adapter: new Adapter() });
export default Enzyme;
Run Code Online (Sandbox Code Playgroud)
the error when running tests
Enzyme Internal Error: Enzyme expects an adapter to be configured, but found none.
To configure an adapter, you should call `Enzyme.configure({ adapter: new Adapter() })`
before using any of Enzyme's top level APIs, where `Adapter` is the adapter
corresponding to the library currently being tested. For example:
import Adapter from 'enzyme-adapter-react-15';
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激。谢谢
按照这个配置:
// test-setup.js
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
Run Code Online (Sandbox Code Playgroud)
然后setupFilesAfterEnv在你的 jest 配置中添加一个键并指向该文件。例如,如果您的笑话配置在package.json:
// package.json
{
"jest": {
"setupFilesAfterEnv": ["<rootDir>src/setupTests.js"]
}
}
Run Code Online (Sandbox Code Playgroud)
来自酶文档:https : //airbnb.io/enzyme/docs/guides/jest.html
在每次测试之前运行一些代码以配置或设置测试框架的模块的路径列表。由于 setupFiles 在环境中安装测试框架之前执行,此脚本文件为您提供了在环境中安装测试框架后立即运行一些代码的机会。
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |