【问题标题】:Unable to publish nunit test results to Visual Studio Team Services无法将 nunit 测试结果发布到 Visual Studio Team Services
【发布时间】:2016-08-24 18:48:15
【问题描述】:

我正在团队服务中设置持续集成。该解决方案目前有几个单元测试项目。解决方案中的所有项目都是 .NET 核心项目。

构建定义中的开箱即用的测试运行器没有选择任何单元测试项目(是的,测试程序集通配符设置正确),所以我求助于编写一个批处理文件来执行 @ 987654321@。命令运行后,将一个 XML 文件写入包含结果的磁盘。我正在使用发布结果步骤并指向该文件,以便测试结果将显示在构建输出中。我已将“测试结果格式”字段设置为 NUnit,但该步骤会产生以下警告:

Invalid results file. Please make sure the Test Result Format field in the task matches the result format of the file: C:\<path to file>\TestResult.xml

是否有其他人能够发布通过在 Team Services 中运行 dotnet test 命令生成的 NUnit 测试结果?

【问题讨论】:

    标签: unit-testing azure-devops tfsbuild .net-core nunit-3.0


    【解决方案1】:

    这是因为 VSTS 不支持 NUnit3 格式。您可以考虑使用 jirisykora83 和 CharliePoole 在此问题中提到的解决方法:Support NUnit2 format

    【讨论】:

    • 我将把它标记为正确,因为这是唯一有意义的事情。我研究了这需要什么,IMO 付出了太多的努力。幸运的是,我还没有那么多单元测试,所以我刚刚切换到 xunit,它工作正常。我仍然必须使用批处理脚本执行测试,但我可以输出到 XML,然后使用另一个步骤来发布这些结果。你知道我可以在哪里报告或“投票”以支持 NUnit3 的问题吗?这似乎是一个很大的洞。
    • 谢谢!我在这里添加了我的建议:visualstudio.uservoice.com/forums/330519-team-services/…
    【解决方案2】:

    看来您必须运行自己的批处理脚本才能运行测试。即使您在批处理脚本中设置了dotnet test 应该生成 NUnit 文件,但在发布任务中它可能不是 NUnit 选项。您可以在Test Result Format中尝试使用JUnit Format或XUnit Format。

    【讨论】:

    • 我回去尝试了所有格式选项。它们都不起作用。我签入了本地生成的测试结果文件,并创建了一个在该文件中发布结果的一步构建。所有选项都产生了相同的错误。我查看了 XML 文件,它似乎是 nunit 格式。
    【解决方案3】:

    我能够通过将 dotnet 测试任务与发布测试结果结合使用来发布我的测试结果。 构建配置如下所示:

    1. 在dotnet测试任务中,添加附加参数--logger:trx
    2. 在测试任务之后添加发布测试结果任务,并配置:

    测试结果格式:VSTest

    测试结果文件:***.trx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      相关资源
      最近更新 更多