我使用create-react-app创建了一个webapp。我已经退出了这个项目。现在我尝试配置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
但行为没有变化。
答案 0 :(得分:1)
pipelines:
default:
- step:
script:
- npm install -g yarnpkg
- export CI=true
- yarn install
- yarn test
- yarn build
答案 1 :(得分:0)
当enzyme
正确构建时,会有一个build
文件夹。
对我来说,我安装了React 15,然后必须安装react-addons-test-utils
。
然后我重新安装enzyme
并且一切正常(您可能会手动触发酶的安装后构建步骤,但npm i --save-dev enzyme
对我来说似乎最简单。)