单元测试在构建服务器上执行缓慢

时间:2018-12-14 11:48:41

标签: unit-testing .net-core azure-devops azure-service-fabric xunit

我有一个.NET解决方案,其中包含一些作为nuget软件包发布的Service Fabric库项目(.NET Standard 2.0)。解决方案(.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 :(得分:4)

Regression: dotnet test hangs for 15 minutes after test run completed on mac and linux中找到了解决方案。

dotnet build任务的参数中添加以下参数就可以达到目的:

  

-nodereuse:false

Build definition - dotnet build task

顺便说一句,构建代理是Windows计算机,而不是上述问题中提到的mac或linux。