我有一个使用create-react-app创建的网络应用程序。我已经退出了该项目。现在,我正在尝试配置 Jest、Enzyme 和所有其他组件,以便与 BitBucket 的管道配合良好,以便能够在 bitbucket-pipelines.yml
配置中运行它。
在本地,测试执行得很好(使用 npm test
),但是在 BitBucket 上运行代码时,出现以下错误:
npm test
> sicj@0.1.0 test /opt/atlassian/pipelines/agent/build
> node scripts/test.js --env=jsdom
FAIL src/App.test.js
● Test suite failed to run
Cannot find module 'enzyme' from 'App.test.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:144:17)
at Object.<anonymous> (src/App.test.js:3:41)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 1.323s
Ran all test suites.
npm ERR! Test failed. See above for more details.
所以它只是找不到enzyme
模块。为了检查模块是否正确安装,我运行 ls node_modules
,然后运行 ls node_modules/enzyme
。结果如下:
+ ls node_modules/enzyme
CHANGELOG.md ReactWrapper.js karma.conf.js src
CONTRIBUTING.md ShallowWrapper.js mount.js test
INTHEWILD.md book.json node_modules withDom.js
LICENSE.md docs package.json
MAINTAINERS example-test.sh render.js
README.md install-relevant-react.sh shallow.js
嗯,我觉得不错。
我做错了什么?我刚刚开始使用 React,一般来说是前端开发。我不明白在本地(在我的桌面上)运行它和在 BitBucket 上运行它有什么区别。
我已经尝试过:
- 删除
node_modules
文件夹并重新运行npm install
- 在 ReferenceError on enzyme import 中应用指针
但行为没有改变。
最佳答案
你正在运行 npm install 吗?我有一个示例 create-react-app,可以使用以下设置:
pipelines:
default:
- step:
script:
- npm install -g yarnpkg
- export CI=true
- yarn install
- yarn test
- yarn build
关于reactjs - 在 BitBucket 的管道中使用 Jest 运行 ES2016 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41202722/