Я использую докер-конвейер на основе linux для создания и автоматического тестирования с помощью NUnit Framework в решении C # - .NET-Core .
«Тест» в моем файле .gitlab-ci.yml:
runTests:
stage: test
image: docker-registry.xyz.de/${CI_PROJECT_PATH}/build:${CI_COMMIT_REF_SLUG}_backend_${CI_COMMIT_SHA}
services:
- name: atsnngs/mysql-aurora-compatible
alias: mysql_test
tags:
- docker
- linux
- shared
variables:
GIT_STRATEGY: none
artifacts:
expire_in: 30m
paths:
- $CI_PROJECT_DIR/pages
script:
- mkdir $CI_PROJECT_DIR/pages
- mkdir mkdir /tmp/pages
- cd /app
- nohup dotnet run --project ./ServiceLoader/ServiceLoader.csproj Test > dotnetcore.log &
- sleep 10s && dotnet test -v normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude=[NUnit3.TestAdapter]*
- reportgenerator -reports:/app/Tests/coverage.opencover.xml -targetdir:/tmp/pages
- ls -l /tmp/pages
- mv /tmp/pages/index.htm /tmp/pages/index.html
- mv /tmp/pages $CI_PROJECT_DIR/
dependencies:
- build
В файле Docker, который я использую для создания образа, который я использую для выполнения тестирования, я устанавливаюсредство создания отчетов (по причинам читабельности я пропустил части восстановления и построения dotnet файла Dockerfile):
FROM microsoft/dotnet:2.1-sdk AS build
# install reportgenerator
RUN dotnet tool install --global dotnet-reportgenerator-globaltool
ENV PATH /root/.dotnet/tools:$PATH
Но когда я запустил конвейер, генерация отчетов завершается неудачно:
$ reportgenerator -reports:/app/Tests/coverage.opencover.xml -targetdir:/tmp/pages
No report files specified.
Я уже сравнил файл Dockerfile и .gitlab-ci.yml с другим проектом. Я использовал этот подход и не смог найти различий, которые могли бы объяснить эту ошибку.Есть ли другое место, где мне нужно взглянуть?
Любая помощь высоко ценится!