【问题标题】:Run failed tests first during rerun in Hudson在哈德逊重新运行期间首先运行失败的测试
【发布时间】:2011-09-09 03:07:28
【问题描述】:

我在哈德森有一个长期运行的单元测试工作。如果某些测试失败,我想先运行它们,而不是等待其他测试在它们之前运行(看看,我是否修复了它们)。 是否可以在哈德逊进行设置? 谢谢。

【问题讨论】:

  • 顺便说一句,单元测试并不意味着长期运行。他们是否接触数据库/网络服务?在这种情况下,您可以将它们重新标记为集成测试。

标签: unit-testing hudson jenkins


【解决方案1】:

我之前也有同样的问题,这是我的解决方案。

  1. 您可以编写一个独立的程序来运行一系列单元测试用例。 (就我而言,我编写了一个 Java 主类来手动运行 Junit。)
  2. 创建一个可以使用“远程构建触发器”运行的作业并从 url 传递列表
  3. 使用Selenium从Hudson的“测试结果”中抓取失败结果
  4. 使用Selenium 使用失败列表从“远程构建触发器”触发作业。

顺便说一句,你也可以在重新运行测试失败的时候发送一个带有结果的邮件,然后如果测试是真正的“失败”,你就可以检查邮件了。

请注意,如果您有其他选择,则不需要 Selenium。

【讨论】:

  • 你如何使用 selenium 从 Hudson 那里获取失败?
  • 可以使用Hudson的“Publish JUnit test result report”生成一个测试报告,然后用Selenium抓取那个页面,会放在URL下面。 /hudson/job/Job_Name/Build_Number/testReport/
【解决方案2】:

不要认为这在 Hudson 中是可能的,但如果您使用的是 Eclipse(抱歉,我假设您使用的是 Java),您可以运行测试,然后使用“重新运行测试 - 故障优先”重新运行它们'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 2013-05-20
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    相关资源
    最近更新 更多