Я пытаюсь загрузить отчеты 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