15

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

这是我的命令。

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

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

在此处输入图像描述

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

4

2 回答 2

32

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

和选项不再起作用,因为它们不是测试 CLI 提供的选项的一部分-xml--work我记得以前用过-xml,效果很好,但现在不行了。

您可以在此处查看 CLI .NET Core 2.x 的所有选项

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

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 Core' 任务解释了它在哪里发布结果,如下面的屏幕截图所示:

在此处输入图像描述

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

在此处输入图像描述

于 2018-05-03T19:05:29.983 回答
16

要从 dotnet test 输出测试结果,可以尝试 pass-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 中作为测试结果可用,您可以使用“发布测试结果”任务:

在此处输入图像描述

于 2018-03-21T08:13:29.710 回答