由于某些原因,我们的测试中有四分之一没有在TFS上运行,因此构建结果为绿色但仅报告3/4表示所有测试都已通过。 我想这个问题出现在一些经过测试的异步代码中,这些代码可能会使测试运行器崩溃或者继续运行。在VS的本地所有测试都通过了。 有没有办法在TFS上启用故障转储,或者我该如何解决这个问题?
编辑:在TFS网络界面中,摘要说"所有2217测试通过"但是在Diagnotics部分,在通过的测试下,它说"测试运行完成。执行了3228次测试" ...仍然不是全部(在VS2015中本地通过cca 3450)
我检查了服务器上的最后一个版本,但就历史而言,它们已经失败了(总是不同的amonut已经通过)。所以我无法追踪它。
我还用vstest.console.exe运行了测试,一切都很好,除了长文件路径上的5个失败(我禁用那些使用Ignore attribbute无效)
由赏金首发编辑:
抱歉赏金框中的文字。没想到会被吞下线。在这里提供相同的文字。
我的情况完全相同。假设我有100个测试,但只有60个最终在.trx文件中(例如50个通过,10个失败)。解决这个问题会很棒。谢谢!
<Target Name="CoreTestConfiguration">
<Exec Command=""C:\Program Files\dotnet\dotnet.exe" vstest /Blame /Diag:"$(SolutionRoot)##########################\bin\Release\diag.txt" "$(SolutionRoot)###########################\#################s.dll" /logger:trx;LogFileName="$(SolutionRoot)\#################################\Tests\bin\Release\TestOutput.trx" /Settings:"$(SolutionRoot)\############################################ests\bin\Release\#################sts.runsettings""
ContinueOnError="true"/>
</Target>
<RunSettings>
<RunConfiguration>
<TestSessionTimeout>4400000</TestSessionTimeout>
<TestTimeout>342000</TestTimeout>
<TargetPlatform>X64</TargetPlatform>
<TargetFrameworkVersion>
.NETCoreApp,Version=v2.0
</TargetFrameworkVersion>
<!-- same with net461: but different count of tests in final trx -->
<!-- <TargetFrameworkVersion>
.NETFramework,Version=v4.6.1
</TargetFrameworkVersion> -->
<DesignMode>False</DesignMode>
<CollectSourceInformation>False</CollectSourceInformation>
</RunConfiguration>
<LoggerRunSettings>
<Loggers>
<Logger friendlyName="blame" enabled="True" />
<Logger friendlyName="Console" uri="logger://microsoft/TestPlatform/ConsoleLogger/v1" assemblyQualifiedName="Microsoft.VisualStudio.TestPlatform.CommandLine.Internal.ConsoleLogger, vstest.console, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" codeBase="C:\Program Files\dotnet\sdk\2.1.503\vstest.console.dll" enabled="True" />
</Loggers>
</LoggerRunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="blame" enabled="True">
<Configuration>
<ResultsDirectory>
############################\bin\Release
</ResultsDirectory>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
答案 0 :(得分:2)
您正在使用哪个版本的测试框架? 看来您想构建/运行一个dotnet核心应用程序。 在我看来,xunit在dotnet core 2.x上可以正常工作。 还有一个可用的新版本的MS Test框架,它具有一些有趣的改进。我在最新的dotnetpro文章中读到了这篇文章。 也可以看看 Article, dotnetpro (GER)
希望这可以帮助您解决此问题, 再见 莱昂哈德