dotnet 测试未创建测试结果文件夹

dotnet test not creating test results folder

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

这是我的命令。

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

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

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

要输出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 中的测试结果,您可以使用 "Publish Test Results" 任务:

要使用 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”测试任务和 'Publish Test Result' 任务中发布要显示在构建页面中的测试。

“.NET Core”任务根据以下屏幕截图解释了它发布结果的位置:

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