我有一個使用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