作为 ASP.NET Core 2.0 构建过程的一部分,我添加了一个 dotnet test 命令,我将其添加为Windows批处理文件。
这是我的命令。
dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal
这是从命令行运行时的输出。
所以这一切似乎都能正常工作,但是没有创建测试结果/测试输出。
答案 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核心'任务根据下面的截图说明它发布结果的位置:
完成所有操作后,您的构建页面将如下所示:
答案 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;任务: