Модульные тесты медленного выполнения на сервере сборки - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть решение .NET, которое содержит некоторые проекты библиотеки Service Fabric (.NET Standard 2.0), которые публикуются в виде пакетов nuget.Проекты модульного тестирования в решении (.NET Core 2.0) используют xUnit.

Я заметил, что тесты отнимают слишком много времени при запуске на сервере сборки, по сравнению с предыдущими сборками ,

Я попытался запустить тесты на своем локальном компьютере с помощью Reshaper / Visual Studio или сценария powershell, и это заняло менее 5 минут:

$stopwatch = [system.diagnostics.stopwatch]::StartNew()

Get-ChildItem -recurse *tests.csproj | % { 
    dotnet test $_.FullName --no-build --no-restore;
}

$stopwatch.Stop()
Write-Host $stopwatch.Elapsed

Но в Azure Devops задача модульного тестированиязавершение заняло более 27 минут !!!

Это задача сборки конвейера / модульного теста:

Build pipeline tasks

Любая идея очто происходит?

1 Ответ

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

Нашел решение в Регрессия: тест dotnet зависает на 15 минут после выполнения теста на Mac и Linux .

Добавление следующего параметра в аргументы задачи dotnet buildхитрость:

-nodereuse: false

Build definition - dotnet build task

Кстати, агентами сборки являются машины Windows, а не Macили Linux, как упомянуто в вышеупомянутой проблеме.

...