TeamCity не получает результаты тестов xUnit при тестировании проекта .NET Core. - PullRequest
0 голосов
/ 18 мая 2018

У меня есть небольшой проект .NET Core, где весь процесс сборки / тестирования / развертывания обрабатывается в скрипте Cake.

У меня есть скрипт powershell, который запускает скрипт торт.

При локальном запуске сценария я получаю результаты каждого неудачного теста xUnit, но при запуске того же сценария через запуск PowerShell в TeamCity я не получаю результат каждого теста, а просто сводку количества неудачных тестов.

Задача Cake:

Task("Test")
    .IsDependentOn("Clean")
    .Does(() =>
    {
        GetFiles("./tests/**/*.csproj")
            .ToList()
            .ForEach(file => DotNetCoreTest(file.FullPath));
    });

Этот код Cake запускает «тест dotnet» под капотом.

При запуске сценария вручную в PowerShell на сервере сборки я получаюэти выходные данные:

Test run for c:\project\myproject\tests\Web.Tests\bin\Debug\netcoreapp2.0\Web.Tests.dll(.NETCoreApp,Version=v2.0)
Microsoft (R) Test Execution Command Line Tool Version 15.7.0
Starting test execution, please wait...
[xUnit.net 00:00:00.7397647]        Web.Tests.UnitTest1.Test1[FAIL]
Error Message:
 Assert.False() Failure
Expected: False
Actual:   True
Test Run Failed.
Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.
Test Run Failed.

При запуске того же сценария с помощью TeamCity PowerShell Runner я получаю следующее:

[14:27:45]  [Step 1/1] Test run for D:\TeamCity\buildAgent\work\7ff27c4721bc4a68\tests\Web.Tests\bin\Release\netcoreapp2.0\Web.Tests.dll(.NETCoreApp,Version=v2.0)
[14:27:45]  [Step 1/1] Microsoft (R) Test Execution Command Line Tool Version 15.7.0
[14:27:45]  [Step 1/1] Starting test execution, please wait...
[14:27:48]  [Step 1/1] Failed   Web.Tests.UnitTest1.Test1
[14:27:48]  [Step 1/1] Error Message:
[14:27:48]  [Step 1/1]  Assert.False() Failure
[14:27:48]  [Step 1/1] Expected: False
[14:27:48]  [Step 1/1] Actual:   True
[14:27:48]  [Step 1/1] Test Run Failed.
[14:27:48]  [Step 1/1] Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.

Как видите, отсутствует одна строка, содержащая имяпровальный тест.

Есть идеи, почему это может быть?

Ответы [ 3 ]

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

Тестирование проектов .NET Core с TeamCity В статье объясняется это поведение.

Вам нужно установить TeamCity.VSTest.TestAdapter пакет, чтобы получить результаты тестов.

0 голосов
/ 11 декабря 2018

Тесты могут не отображаться правильно для проектов тестирования .NET Core xunit, когда запись уровней многословия минимальна или тиха из-за проблемы , поэтому старайтесь избегать использования этих уровней подробности.

0 голосов
/ 23 июля 2018

Не уверен, что это та же проблема, но я столкнулся с подобной проблемой, когда недавно обновил dotnet v2.0.8 до v2.1.0.В моем случае после обновления я больше не получал любой результат от юнит-тестов в Teamcity.

На данный момент единственным способом, который я нашел, было использование CLI-инструмента dotnet xunit на этапе сборки модульного теста в Team City.

Примечание. Эту команду можно запустить только изпроект с использованием команды "dotnet xunit -teamcity".

Должна быть возможность настроить его для работы с Cake с использованием псевдонима DotNetCoreTool.

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