我正在尝试运行该应用程序的测试用例。但它显示以下错误。有人可以帮我解决这个问题吗?
附上代码仓库。 https://github.com/Arun12Muralidharan/team_tracker
无法修改package.json,Test/* test*js,*sh
它使用以下node和npm版本,在web ide(执行部分) $ node -v v8.15.1 $ npm -v 6.4.1
失败 src/Tests/AddMember.test.js ● 测试套件运行失败
Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".
Here's what you can do:
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html
Details:
/projects/challenge/node_modules/cheerio/dist/commonjs/api/attributes.js:300
catch {
^
SyntaxError: Unexpected token {
4 | // learn more: https://github.com/testing-library/jest-dom
5 | // import '@testing-library/jest-dom/extend-expect';
> 6 | import { configure } from "enzyme";
| ^
7 | import Adapter from "enzyme-adapter-react-16";
8 | configure({ adapter: new Adapter() });
9 |
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at Object.<anonymous> (node_modules/cheerio/src/cheerio.ts:6:1)
at Object.<anonymous> (node_modules/cheerio/src/load.ts:7:1)
at Object.<anonymous> (node_modules/cheerio/src/load-parse.ts:1:1)
at Object.<anonymous> (node_modules/cheerio/src/index.ts:6:1)
at Object.<anonymous> (node_modules/enzyme/src/Utils.js:9:1)
at Object.<anonymous> (node_modules/enzyme/src/ReactWrapper.js:4:1)
at Object.<anonymous> (node_modules/enzyme/src/index.js:1:1)
at Object.<anonymous> (src/setupTests.js:6:1)
at Array.forEach (<anonymous>)
失败 src/Tests/Login.test.js ● 测试套件运行失败
Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".
Here's what you can do:
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html
Details:
/projects/challenge/node_modules/cheerio/dist/commonjs/api/attributes.js:300
catch {
^
SyntaxError: Unexpected token {
4 | // learn more: https://github.com/testing-library/jest-dom
5 | // import '@testing-library/jest-dom/extend-expect';
> 6 | import { configure } from "enzyme";
| ^
7 | import Adapter from "enzyme-adapter-react-16";
8 | configure({ adapter: new Adapter() });
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at Object.<anonymous> (node_modules/cheerio/src/cheerio.ts:6:1)
at Object.<anonymous> (node_modules/cheerio/src/load.ts:7:1)
at Object.<anonymous> (node_modules/cheerio/src/load-parse.ts:1:1)
at Object.<anonymous> (node_modules/cheerio/src/index.ts:6:1)
at Object.<anonymous> (node_modules/enzyme/src/Utils.js:9:1)
at Object.<anonymous> (node_modules/enzyme/src/ReactWrapper.js:4:1)
at Object.<anonymous> (node_modules/enzyme/src/index.js:1:1)
at Object.<anonymous> (src/setupTests.js:6:1)
at Array.forEach (<anonymous>)
简而言之,发生这种情况是因为从 Cheerio v1.0.0 开始,该项目已切换到 ES 模块,并且
enzyme
与此版本不兼容。将其添加到您的 package.json 应该可以工作:
"overrides": {
"enzyme": {
"cheerio": "1.0.0-rc.3"
}
}