我遵循了其他项目和线程中的说明,但无法让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"
]
}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;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';任何帮助都将不胜感激。谢谢
发布于 2019-06-16 20:18:36
下面是这个配置:
// test-setup.js
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });然后在jest配置中添加一个setupFilesAfterEnv键,并指向该文件。例如,如果您的jest配置在package.json中
// package.json
{
"jest": {
"setupFilesAfterEnv": ["<rootDir>src/setupTests.js"]
}
}来自酶文档:https://airbnb.io/enzyme/docs/guides/jest.html
在每次测试之前运行一些代码以配置或设置测试框架的模块的路径列表。由于setupFiles在环境中安装测试框架之前执行,因此这个脚本文件为您提供了在环境中安装测试框架之后立即运行一些代码的机会。
发布于 2020-12-31 04:52:02
在setupFilesAfterEnv: ['<rootDir>src/setupTests.js']中添加jest.config.js,它会运行得很好
https://stackoverflow.com/questions/56621623
复制相似问题