dotnet测试没有创建测试结果文件夹

时间:2018-03-20 17:16:23

标签: asp.net-core tfs tfsbuild tfs2015 dotnet-test

作为 ASP.NET Core 2.0 构建过程的一部分,我添加了一个 dotnet test 命令,我将其添加为Windows批处理文件。

这是我的命令。

dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal

这是从命令行运行时的输出。

enter image description here

所以这一切似乎都能正常工作,但是没有创建测试结果/测试输出。

2 个答案:

答案 0 :(得分:16)

要使用dotnet test选项--results-directory输出测试结果,您还必须设置--logger

-xml--work选项不再有效,因为它们不是测试CLI提供的选项的一部分。我记得过去使用-xml并且它已经有效了,但它已经不存在了。

您可以看到CLI .NET Core 2.x here

的所有选项

要将测试结果发布到特定文件夹,您应该使用以下命令:

dotnet test --logger "trx;logfilename=mytests.trx" --results-directory ./somefolder/subfolder

或者

dotnet test --logger "trx;LogFileName=./somefolder/subfolder/mytests.trx"

trx 文件是一个XML文件,因此您可以将其命名为 mytests.xml 而不是 mytests.trx

如果您使用VSTS,则可以使用上面的命令发布您的测试以显示在构建页面中的.NET Core'测试任务和发布测试结果'任务。

.NET核心'任务根据下面的截图说明它发布结果的位置:

enter image description here

完成所有操作后,您的构建页面将如下所示:

enter image description here

答案 1 :(得分:11)

要从dotnet测试输出测试结果,您可以尝试传递-xml /some/path/out.xml或使用work参数,如下所示:dotnet test --work:"mypath/myresult.xml"。有关详细信息,请参阅以下主题:

此外,通常需要指定参数-l|--logger <LoggerUri/FriendlyName>,该参数指定测试结果的记录器。

例如:

dotnet test "myproject.csproj" --logger "trx;LogFileName=path\to\tests\folder\results.trx"dotnet test "myproject.csproj" -l:"trx;LogFileName=path\to\tests\folder\results.trx"

要使生成的trx文件可用作VSTS / TFS中的测试结果,您可以使用&#34;发布测试结果&#34;任务:

enter image description here