【问题标题】:How to run other tests in TestNG after Assertion failure断言失败后如何在 TestNG 中运行其他测试
【发布时间】:2013-10-31 18:29:04
【问题描述】:

我目前正在开展一个项目,我正在使用 TestNG 启动 Selenium 测试套件并处理我在 Maven 项目中的所有结果日志记录,该项目每晚在 Jenkins 作业中运行。

目前,当一个测试未通过断言时,TestNG 会终止我们正在运行的所有内容,它不仅会导致当前测试失败并继续运行套件中的其他测试。我不明白为什么 TestNG 不只是使当前测试失败,然后启动尚未运行的剩余测试。这使得 TestNG 在这一点上成为一个无用的工具。必须有一种方法可以在某处配置 TestNG,以便在单个测试失败后继续运行测试。

是的,我一直在寻找答案,但还没有找到解决这个问题的答案。如果我不能让 TestNG 正常工作,我开始认为我需要查看一个不同的工具来处理我的测试执行和结果。

【问题讨论】:

  • 您是否在配置方法中断言任何条件?如果配置方法失败,TestNG 不会调用任何测试。

标签: java maven selenium jenkins testng


【解决方案1】:

为您的断言创建一个辅助类。将您的断言放入尝试并捕获,当您的断言失败时,只需记录错误并且不要抛出它。在测试结束时,查看是否记录了任何错误,如果存在错误则抛出异常

public static void AssertVerticalAlignment(int a, int b)
{
    try
    {
        Assert.AreEqual(a, b);
    }
    catch (Exception exception)
    {
        LogHelper.LogException(exception.Message);
    }
}

【讨论】:

  • 很抱歉把你拆散了,但是 TestNG 是一个 Java 测试库,而不是 C# :P 这是 C#
猜你喜欢
  • 2019-10-06
  • 2015-12-18
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-18
  • 2011-08-04
相关资源
最近更新 更多