2017-04-30 58 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。讓我知道,如果你有任何進一步的疑問。