0

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

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

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

4

1 回答 1

0

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

public static void AssertVerticalAlignment(int a, int b)
{
    try
    {
        Assert.AreEqual(a, b);
    }
    catch (Exception exception)
    {
        LogHelper.LogException(exception.Message);
    }
}
于 2013-10-31T18:33:20.127 回答