我有一个使用create-react-app创建的webapp。我已经推出了这个项目。现在我正在尝试配置Jest,Enzyme和所有其余的与BitBucket的管道配合使用,以便能够在bitbucket-pipelines.yml
配置中运行它。在BitBucket的管道中使用Jest运行ES2016单元测试
在本地,测试执行罚款(使用npm test
),但到位桶运行的代码时,我发现了以下错误:
npm test
> [email protected] 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。我使用npm,而不是纱线,所以你的例子没有多大帮助。我认为问题在于单元测试框架没有被看到的酶。 – PiotrK