首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CircleCI + Cypress配置

CircleCI + Cypress配置
EN

Stack Overflow用户
提问于 2018-05-08 05:04:41
回答 2查看 2.5K关注 0票数 4

您好,我有问题,设置CircleCi与柏树一起。

我包含了带有所有必要依赖项的docker image,但它仍然不起作用。我尝试了大约40种不同的配置,但没有任何积极的结果。请检查下面截图中所附的我的配置和输出。

代码语言:javascript
复制
version: 2
jobs:
  build:
    docker:
      - image: circleci/node:9.2.0

      - image: circleci/mongo:3.4.4
      - image: cypress/base:8

working_directory: ~/repo

steps:
  - checkout

  - restore_cache:
      keys:
      - v1-dependencies-{{ checksum "package.json" }}
      - v1-dependencies-

  - run: yarn install

  - save_cache:
      paths:
        - node_modules
      key: v1-dependencies-{{ checksum "package.json" }}

  - run: yarn test   // THIS COMMAND RUNS UNIT TESTS - and it is working ok

  - run: yarn run dev & $(npm bin)/cypress run // THIS ONE IS FAILING

我还意识到,如果我删除node/mongo的镜像,只运行e2e测试,它就能正常工作。当我尝试使用三个docker镜像同时运行单元测试和e2e测试时,出现了这个问题。

EN

回答 2

Stack Overflow用户

发布于 2019-09-03 02:41:43

我尝试过bkcura's answer,但它不起作用,仍然出现相同的错误。

因此,我尝试使用新的Circle功能(orbs)来混合两个orbs:

而且它是有效的

这是我的config.yml

代码语言:javascript
复制
version: 2.1
orbs:
  cypress: cypress-io/cypress@1
  react: thefrontside/react@0.1.0
workflows:
  push:
    jobs:
      - react/install
      - react/test:
          requires:
            - react/install
  build:
    jobs:
      - cypress/run:
          yarn: true
          start: yarn start
          wait-on: 'http://localhost:3000'
          no-workspace: true

带演示的存储库:https://github.com/jeanbauer/create-react-app-cypress-circle-ci

注意:这可能不是那么有效,所以如果你看到任何改进,请给我一个问题here

票数 3
EN

Stack Overflow用户

发布于 2018-06-28 19:10:36

请参阅此处的文档:https://docs.cypress.io/guides/guides/continuous-integration.html#Example-circle-yml-v2-config-file-with-yarn

您不需要缓存node_modules,而需要缓存~/.cache

代码语言:javascript
复制
version: 2
jobs:
  build:
    docker:
      - image: cypress/base:8
        environment:
          ## this enables colors in the output
          TERM: xterm
    working_directory: ~/app
    steps:
      - checkout
      - restore_cache:
          keys:
            - v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
            - v1-deps-{{ .Branch }}
            - v1-deps
      - run:
          name: Install Dependencies
          command: yarn install --frozen-lockfile
      - save_cache:
          key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
          paths:
            - ~/.cache  ## cache both yarn and Cypress!
      - run: $(yarn bin)/cypress run --record --key <record_key>

为什么?

Cypress在你的项目文件夹之外安装了一个预先构建的平台特定的二进制文件,在~/.cache/Cypress中这个文件大约200MB,下载需要一些时间,所以你应该缓存它。

此外,它只安装在postInstall上,如果缓存node_modules,则不会发生这种情况,因此出现错误消息=)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50222410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档