2017-04-30 35 views
0

下面的代码没有报告的错误:断言失败try catch块工作中硒TestNG的

@Test 
public void test() { 

    int a = 12; 
    int b =20; 

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

    } 

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

回答

1

Java中的断言建立在Java异常和异常处理之上。当Java断言失败时,结果是AssertionError异常,可以像其他任何Java异常一样捕获异常。因此,当你在try-catch块中放置断言并捕获由断言引发的异常时,执行继续。有关Java断言和异常的更多详细信息,请参阅link。让我知道,如果你有任何进一步的疑问。