Почему gitlab CI не находит мой артефакт отчета о Junit? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь загрузить отчеты J-модуля на Gitlab CI (это результаты тестов из моей платформы автоматизации Cypress). Я использую Junit-Merge. Из-за архитектуры Cypress (каждый тест изолированно) требуется дополнительное «слияние» для отчетов, чтобы поместить их в один файл. Локально все работает нормально:

  • Junit генерирует отдельные отчеты о каждом тесте с хеш-кодом
  • После того, как все отчеты были сгенерированы, я запускаю скрипт (показанный ниже), который смешивает все отчеты в один XML-файл и выводит его под пакетом «results».

Пытался отладить его локально, но локально все просто отлично работает. Возможности, о которых я мог подумать: либо сценарий слияния не обрабатывается должным образом, либо Gitlab не принимает относительный путь к XML-файлу.

{ "baseUrl": "https://www -acc.anwb.nl / ",

"репортер": "мокко-джунит-репортер",

"reporterOptions": {

"mochaFile": "results/resultsreport.[hash].xml",

"testsuiteTitle": "true"

} } * * Тысяча двадцать-один

  • Это файл Cypress.json, в котором я настроил репортер Junit и позволил ему выводить одиночные тестовые файлы в пакете результатов.

кипарис-e2e:

image: cypress/base:10

stage: test

script:

- npm run cy:run:staging

- npx junit-merge -d results -o results/results.xml

artifacts:

 paths:

 - results/results.xml

 reports:

  junit: results/results.xml

 expire_in: 1 week
  • Это часть файла yml. Команда npx junit-merge гарантирует, что все XML-файлы в пакете результатов будут объединены в results.xml.

Опять же, локально все работает как положено. Ошибка, которую я получаю от gitlab Ci:

Загрузка артефактов ... ВНИМАНИЕ: results / results.xml: нет подходящих файлов
ОШИБКА: Нет файлов для загрузки
ОШИБКА: задание не выполнено: код выхода 1

...