我有一个.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分钟的时间!!!
这是构建管道/单元测试任务:
有什么想法吗?
答案 0 :(得分:4)
在Regression: dotnet test hangs for 15 minutes after test run completed on mac and linux中找到了解决方案。
在dotnet build
任务的参数中添加以下参数就可以达到目的:
-nodereuse:false
顺便说一句,构建代理是Windows计算机,而不是上述问题中提到的mac或linux。