我已经使用 create-react-app 创建了一个 react 应用程序,并且我正在尝试使用 enzyme 对一个简单的组件进行简单的测试。
Header.test.js:
import Header from './Header';
import { shallow } from 'enzyme';
describe('Header component', () => {
it('renders correctly', () => {
const wrapper = shallow(<Header />);
expect(wrapper.exists()).toBe(true);
});
});
不幸的是,我不断收到此错误:
Cannot find module 'entities/maps/xml.json' from 'Tokenizer.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:221:17)
at Object.<anonymous> (node_modules/cheerio/node_modules/htmlparser2/lib/Tokenizer.js:6:17)
我的预感是它与 webpack 有关,但我不确定......帮助!
哦,是的,这是我的 package.json
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.8",
"@fortawesome/free-solid-svg-icons": "^5.5.0",
"@fortawesome/react-fontawesome": "^0.1.3",
"bootstrap": "^4.1.3",
"http-proxy-middleware": "^0.19.0",
"react": "^16.6.1",
"react-dom": "^16.6.1",
"react-redux": "^5.1.1",
"react-scripts": "2.1.1",
"react-test-renderer": "^16.6.1",
"reactstrap": "^6.5.0",
"redux": "^4.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"babel": {
"presets": [
"react-app"
]
},
"devDependencies": {
"babel": "^6.23.0",
"babel-preset-react-app": "^6.1.0",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.7.0",
"enzyme-to-json": "^3.3.4",
"redux-devtools": "^3.4.1"
}
}
最佳答案
删除 node_modules
, 运行 yarn install
至少对我来说它有效。
关于reactjs - 从 'entities/maps/xml.json' 找不到模块 'Tokenizer.js',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53268737/