如何在teamcity构建中仅运行失败的nunit测试

时间:2014-09-09 09:38:48

标签: selenium nunit teamcity

我在硒中进行了很多测试,花了将近6个小时才完成。执行后,由于超时错误或不可避免的错误,很少有人失败。在这种情况下,我想只运行失败的测试。我正在使用teamcity来运行nunit测试。任何想法我怎么能重新运行失败的测试。

2 个答案:

答案 0 :(得分:1)

作为TeamCity的nUnit集成的一部分,首先可以选择运行失败的测试 - 但是你不能将它限制为只有失败的测试,没有像这样的内置。

我认为你有几个选择:

  • 使用Selenium grid /其他基础架构并行运行Selenium测试以减少测试运行时间。这似乎是您的问题的根源:目前进行完整测试运行的时间是令人望而却步的。如果您可以快速运行Selenium测试,则无需选择性地运行它们。通常使用内置的nUnit运行器是长期不好的选择,因为它不允许并行性。
  • 根据您看到的故障确定nUnit测试夹具并执行自定义nUnit运行,您只需传入这些测试夹具重新运行 - 再次没有集成,您将不得不使用命令行nUnit runner

答案 1 :(得分:1)

根据您使用的测试框架,有一些选项,因此您可以使用命令行选项在更灵活的条件下进行teamcity启动测试。 我们在不稳定的测试环境中使用了这种解决方法。

使用 NUnit ,可以将过滤后的输出文件(根据失败的测试)用作下次运行的给定测试列表。有多种方法可以获取和设置列表,您可以在此处找到详细信息: https://github.com/nunit/docs/wiki/Console-Command-Line

有两种快速选择:

  • 在文件中保存/添加包含失败测试的列表(使用powershell脚本)
  • 阅读最后一个测试结果文件并使用 where 子句来获取失败的测试

每次运行时,带有测试的列表都应缩小。

请注意:

  • 构建不容易可比较(teamcity估计执行时间或者如果您有基于度量标准更改的失败条件)
  • 在您再次启动所有测试之前,其他测试中的
  • (新)错误将保持不被发现