reactjs - 在 BitBucket 的管道中使用 Jest 运行 ES2016 单元测试

标签 reactjs npm webpack bitbucket jestjs

我有一个使用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 上运行它有什么区别。

我已经尝试过:

但行为没有改变。

最佳答案

你正在运行 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/

相关文章:

javascript - 在 React JS 中使用 Router 时如何使用 Context API 传递状态

node.js - 使用 Node.js 和 Express 发出 unirest GET 请求

javascript - 从仅包含发送的查询的数组中排除结果。 MongoDB

vue.js - 为什么 vue ui/npm 不允许我将某些包更新到最新版本?

css - 我必须使用什么 webpack 加载器来组合媒体查询?

html - 从 Rails 后端发送图像路径时,图像标签在 React 中不起作用

npm - Webpack 开发服务器 : Unknown argument: NODE_ENV

javascript - 如何将 Vue 插件发布到 NPM?

javascript - Webpack 动态 require 给出混合内容错误

javascript - Webpack:自定义加载器 - 重用文件扩展名