TestNG:如果一个测试抛出异常,请继续其他测试

时间:2019-11-16 03:58:58

标签: testng

在TestNG中,如果一个测试失败,我想继续进行其他测试,以便检查所有测试失败了。

我该怎么做?如果可以通过某些TestNG配置完成此操作,那会更好。

1 个答案:

答案 0 :(得分:0)

如果您的测试由于异常(或任何原因)而失败,除非您有依赖关系,否则它将毫无问题地跳入下一个测试。

如果我错了,请纠正我,但是我想你想问“如果我的测试中的验证失败,我希望它继续进行其余的测试。”

在这种情况下,您要使用的是软断言。 该对象将收集您的所有错误,并且只会失败并在告诉您时显示它们。

import org.testng.asserts.SoftAssert;

public class ShoppingCartValidation {

@Test
public void testA() {
    SoftAssert softAssert = new SoftAssert();

    int a = 5;
    int b = 0;
    int c = 0;

    softAssert.assertTrue(b>a,"b should be greater than a.");

    try {
        c = a/b;
    } catch (ArithmeticException e) {
        softAssert.fail("There was an exception trying to divide " + a + " by " + b);
    }

    softAssert.assertEquals(c, 10, "b should be equals 10.");

    softAssert.assertAll(); // This line will make the test fail if any of the validations above failed, and will show all the failures.

}

}


错误输出:

TestNG Soft Assert validation error output


希望对您有所帮助。