【问题标题】:Running ES2016 unit tests with Jest in BitBucket's Pipelines在 BitBucket 的管道中使用 Jest 运行 ES2016 单元测试
【发布时间】:2017-05-03 07:58:10
【问题描述】:

我有一个使用create-react-app 创建的网络应用程序。我已经退出了这个项目。现在我正在尝试配置 Jest、Enzyme 和所有其他组件以与 BitBucket 的 Pipelines 配合使用,以便能够在 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 上运行它有什么区别。

我已经试过了:

但行为没有改变。

【问题讨论】:

    标签: reactjs npm webpack bitbucket jestjs


    【解决方案1】:

    你在运行 npm install 吗?我有一个示例 create-react-app 可以使用以下设置:

    pipelines:
      default:
        - step:
            script:
              - npm install -g yarnpkg
              - export CI=true
              - yarn install
              - yarn test
              - yarn build
    

    【讨论】:

    • 是的,我运行 npm install。我使用 npm,而不是纱线,所以你的例子没有多大帮助。我认为问题在于单元测试框架没有看到酶。
    【解决方案2】:

    enzyme 正确构建时,将有一个build 文件夹。 对我来说,我安装了 React 15,然后必须安装 react-addons-test-utils

    然后我重新安装了enzyme,一切正常(您可能会手动触发酶的安装后构建步骤,但npm i --save-dev enzyme 对我来说似乎最简单)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 2017-09-30
      • 2020-07-31
      相关资源
      最近更新 更多