Docker / TeamCity / xUnit - вкладка «Тесты» отсутствует, и неудачные тесты не останавливают сборку - PullRequest
0 голосов
/ 21 мая 2018

Я использую Docker Swarm в Linux для размещения TeamCity.В моем случае я запускаю интеграционные тесты через файл docker-compose, используя xUnit.

Я действительно борюсь с шагами, которые мне нужно использовать, чтобы отобразить вкладку Тесты, когда я запускаю свои тесты.(что, в свою очередь, остановит мою сборку в случае неудачного теста xUnit).Мне удалось заставить это нормально работать с TeamCity 2017.1.2, но он отказывается работать в TeamCity 2017.2.4.

Я добавил "ENV TEAMCITY_PROJECT_NAME = fake" в мой файл Docker в соответствии с примером (что я думаю, это все, что мне нужно сделать).

Как мне вернуть вкладку "Тесты" и заставить мои сборки останавливаться, когда тест перерывает, пожалуйста?!

Любая помощь, с благодарностью полученная - я рву себе волосы над этой!

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Спасибо.В конце концов мне удалось заставить его работать.

Конец моего Dockerfile выглядит следующим образом:

FROM microsoft/dotnet:2-sdk

...
...

# Set the flag to tell TeamCity that these are unit tests:
ENV TEAMCITY_PROJECT_NAME = ${TEAMCITY_PROJECT_NAME}

# Run the tests:
ENTRYPOINT ["dotnet", "test", "--verbosity=normal"]

Я также добавил это в файл docker-compose, который я использую:

version: '3.6'
  ...
  ...
  steve.core.tests:
    image: steve.core.tests:tests
      build:
        context: .
        dockerfile: Dockerfile-run-tests
      environment:
        - TEAMCITY_PROJECT_NAME

Может быть пояс и фигурные скобки, но, похоже, это работает.

Я использую сервер TeamCity версии 2018.1.1 с той же версией агента.Я установил Docker Compose v1.22.0 в свой агент TeamCity.

Теперь мне просто нужно разобраться, как я могу проваливать свои сборки, когда охват тестами недостаточно высок.См. Здесь мой следующий вопрос: Нарушение сборки в TeamCity, если модульные тесты .NET Core, работающие под Docker, имеют покрытие кода менее 90%

0 голосов
/ 31 мая 2018

Я тоже столкнулся с этой проблемой.Ник Adcock опубликовал отличное решение на https://devblog.bango.com/2017/10/13/build-in-docker-test-with-net-core-report-to-teamcity/

. Он предоставляет обновленную версию образа microsoft / dotnet: 2.0-sdk, которая выводит результаты теста в формате, который может быть прочитан, использован и представлен TeamCity.Я использую его с TeamCity 2017.2.4, и, кажется, работает нормально.Он не рассчитывал мои тесты правильно, но, по крайней мере, теперь у меня есть хорошо видимые результаты тестов.

Надеюсь, что это могло помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...