Vue Cypress и Gitlab CI / CD - PullRequest
       55

Vue Cypress и Gitlab CI / CD

1 голос
/ 22 марта 2020

В настоящее время я пытаюсь запустить мои тесты E2E на Gitlab с их платформой CI / CD.

Моя проблема на данный момент заключается в том, что я не могу одновременно запустить и мой dev-сервер, и кипарис, чтобы можно было запускать тесты E2E.

Вот мой текущий файл .gitlab-ci.yml:

image: node

variables:
  npm_config_cache: "$CI_PROJECT_DIR/.npm"
  CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress"

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - .npm
    - cache/Cypress
    - node_modules

stages:
  - setup
  - test

setup:
  stage: setup
  image: cypress/base:10
  script:
    - npm ci
    # check Cypress binary path and cached versions
    # useful to make sure we are not carrying around old versions
    - npx cypress cache path
    - npx cypress cache list

cypress:
  stage: test
  image: cypress/base:10
  script:
    # I need to start a dev server here in the background
    - cypress run --record --key <my_key> --parallel
  artifacts:
    when: always
    paths:
      - cypress/videos/**/*.mp4
      - cypress/screenshots/**/*.png
    expire_in: 7 day

Ответы [ 2 ]

1 голос
/ 23 марта 2020

На официальной странице Cypress GitHub , есть пример .gitlab-ci.yml для , где Cypress работает в непрерывной интеграции . Для запуска сервера dev в фоновом режиме используется команда npm run start:ci &. Итак, ваш .gitlab-ci.yml может выглядеть так:

⋮
cypress:
  image: cypress/base:10
  stage: test
  script:
    - npm run start:ci &      # start the server in the background
    - cypress run --record --key <my_key> --parallel
⋮
0 голосов
/ 24 марта 2020

Или используйте эту утилиту для запуска сервера, дождитесь ответа URL, затем запустите тесты и выключите сервер https://github.com/bahmutov/start-server-and-test

...