作为ASP.NET Core 2.0构建过程的一部分,我添加了一个dotnet test命令,我已将其添加为 Windows 批处理文件。
这是我的命令。
dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal
这是从命令行运行时的输出。
所以这一切似乎都正常工作,但没有创建测试结果/测试输出。
作为ASP.NET Core 2.0构建过程的一部分,我添加了一个dotnet test命令,我已将其添加为 Windows 批处理文件。
这是我的命令。
dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal
这是从命令行运行时的输出。
所以这一切似乎都正常工作,但没有创建测试结果/测试输出。
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' 任务解释了它在哪里发布结果,如下面的屏幕截图所示:
完成后,您的构建页面将如下所示:
要从 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 中作为测试结果可用,您可以使用“发布测试结果”任务: