Reactjs 测试与酶反应,笑话给出错误找不到模块'@babel/polyfill/lib/noConflict';从';index.js';
我是单元测试新手,我刚刚开始为我的react项目编写单元测试。我的项目是使用createreact应用程序创建的,我已经安装了所需的测试库,如enzyme、enzyme-adapter-react-16和jest-enzyme 我在src目录中创建了一个新文件setupTests.js,并添加了酶配置 当我试图使用命令Reactjs 测试与酶反应,笑话给出错误找不到模块'@babel/polyfill/lib/noConflict';从';index.js';,reactjs,unit-testing,jestjs,enzyme,Reactjs,Unit Testing,Jestjs,Enzyme,我是单元测试新手,我刚刚开始为我的react项目编写单元测试。我的项目是使用createreact应用程序创建的,我已经安装了所需的测试库,如enzyme、enzyme-adapter-react-16和jest-enzyme 我在src目录中创建了一个新文件setupTests.js,并添加了酶配置 当我试图使用命令npmtest运行单元测试时,我收到了以下错误,因此我的测试失败了 src/App.test.js ● Test suite failed to run Cannot find
npmtest
运行单元测试时,我收到了以下错误,因此我的测试失败了
src/App.test.js
● Test suite failed to run
Cannot find module '@babel/polyfill/lib/noConflict' from 'index.js'
However, Jest was able to find:
'./ComponentName.jsx'
You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'node'].
See https://jestjs.io/docs/en/configuration#modulefileextensions-array-string
下面是错误的屏幕截图
下面是setupTests.js文件在src目录中的样子
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import 'jest-enzyme';
configure({ adapter: new Adapter() });
下面是我的test App.test.js文件,看起来像是我正在尝试console.log的地方,但它失败了。如果我删除应用程序的导入,它将工作
import React from 'react';
import App from './App'
import { shallow } from 'enzyme';
test("this is my first test", () => {
console.log('this is my first test')
});
我正在WSL Ubuntu18.04 LTS和节点12.8.4上尝试这个
谁能告诉我哪里出了错,请纠正我,如果问题再次出现,请原谅
先谢谢你
更新
这是我试图重现错误的GitHub链接
我假设在components/TestComponent1.jsx中,我从“@handsontable/react”导入
import{HotTable}”
因此,测试套件失败并出现错误。正如@tmhao2005在安装@babel/polyfill
后建议的那样,测试开始运行时没有出现任何错误。看起来@handsontable/react
需要@babel/polyfill
,然后我们安装npm i@babel/polyfill
将解决问题:)