断言无法在selenium TestNG

时间:2017-04-30 18:42:54

标签: selenium-webdriver

以下代码无法报告错误:

@Test
public void test() {

    int a = 12;
    int b =20;

    try {
        assertEquals(a, b);
    }catch(Throwable t){

    }

代码成功运行,但未报告任何错误。但是,假设将错误报告为!= b。如果我不使用try catch块,那么它确实报告了一个错误。不知道为什么断言不能在try catch块中工作。任何帮助将不胜感激。感谢

2 个答案:

答案 0 :(得分:1)

Java中的断言建立在Java异常和异常处理之上。当Java断言失败时,结果是AssertionError异常,可以像任何其他Java异常一样捕获。因此,当您在try-catch块中放置断言并捕获断言抛出的异常时,执行将继续。有关Java断言和异常的更多详细信息,请参阅link。如果您有任何疑问,请与我们联系。

答案 1 :(得分:0)

这种情况正在发生,因为您正在使用

catch(Throwable t){

    }

相反,如果您使用

catch(Exception e){

    }

您的代码应该可以正常运行。

请在此处查看说明:Difference between using Throwable and Exception in a try catch