【问题标题】:dotnet test not creating test results folderdotnet test 未创建测试结果文件夹
【发布时间】:2018-08-29 15:12:09
【问题描述】:

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

这是我的命令。

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

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

所以看起来一切正常,但没有创建测试结果/测试输出。

【问题讨论】:

  • 直接在代理机上运行dotnet测试的时候可以创建测试结果文件夹吗?我的意思是在本地命令行中运行。
  • 以上截图取自构建服务器。你的意思是在我的本地开发机器上试试这个?
  • 是的,您可以在本地开发机器上试一试,检查是否可以创建测试结果文件夹。此外,您可以尝试为测试结果指定一个记录器 (-l|--logger <LoggerUri/FriendlyName>) 以检查它是否有效。

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


【解决方案1】:

要使用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 Core”任务解释了它在哪里发布结果,如下图所示:

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

【讨论】:

  • 我正在使用 SonarQube,并通过设置记录器(设置为 nunit,因为我使用 NUnit3 进行单元测试)默认文件名 TestResults.xml 被 SonarQube 正确拾取和处理。注意:我需要在我的测试项目中安装 NuGet 包 NUnitXML.TestLogger 才能激活它。
【解决方案2】:

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

【讨论】:

  • dotnet 测试无法识别 --xml 或 --work 参数。大概要发布我的测试结果,我需要先执行单元测试,这就是我试图让 dotnet 测试工作的原因。
  • 在第一个链接之后,我遇到了以下有效的语法。 dotnet test "myproject.csproj" --logger "trx;LogFileName=path\to\tests\folder\results.trx"
  • --logger 参数应包含在引号中。
猜你喜欢
  • 2019-09-26
  • 1970-01-01
  • 2017-04-11
  • 2017-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
相关资源
最近更新 更多