Cypress отлично работает на местном уровне. Когда я пытаюсь запустить его в конвейере circle-ci, возникает ряд проблем. Во-первых, вот соответствующая часть моего рабочего процесса:
orbs:
cypress: cypress-io/cypress@1.19.2
workflows:
version: 2.1
commit:
jobs:
- cypress/install:
install-command: 'npm install --no-optional --unsafe-perm'
- cypress/run:
requires:
- cypress/install
start: 'lerna run start --parallel'
Когда я просматриваю операции в circle-ci, он успешно компилируется, но сразу отменяет
project/applicable-folder: ℹ 「wdm」: Compiled successfully.
Build was canceled
и в процессе сборки Я заметил эту строку
project/applicable-folder: Failed to load /root/project/.env.
.env абсолютно там.
npx cypress run
после этого работает, но все тесты не пройдены, так как даже тест для cy.visit('/');
не удается.
Почему файл env не был успешно доступен? Я пропускаю шаг, который позволяет это запустить? Я даже должен позволить этому бежать? Я не уверен, что делать дальше.
Я также пытался использовать сборку вместо запуска, но это не работает лучше.
Я также использовал ручную стратегию:
test: e2e: docker: - image: docker -изображения: - checkout - restore_cache: keys: - v2-deps - {{.Branch}} - {{checkum "" package-lock. json "}} - v2-deps - {{.Branch}} - - v2-deps- - выполнить: npm ci - save_cache: ключ: v2-deps - {{.Branch}} - {{контрольная сумма" package- lock. json "}} пути: - ~ /.npm - ~ / .cache - run: name: запустить команду пользовательских приемочных тестов: npm run cy: run
Это приведет к требование для установки Xvfb.
Будет ли это означать, что он должен работать при условии, что он установлен? Я предпочел бы, чтобы версия orb работала.
РЕДАКТИРОВАТЬ: я опробовал библиотеку start-server-and-test
.
сценарии выглядят следующим образом
"cy:pipeline": "start-server-and-test up http-get://localhost:8080 cy:run"
"cy:run": "cypress run --headless --record"
"up": "lerna run start --parallel"
Новый Cypress / Run
- cypress/run:
requires:
- cypress/install
record: true
command: 'npm run cy:pipeline'
Но я получаю те же ошибки,