簡體   English   中英

導致TestNG測試失敗?

[英]Cause a TestNG test to fail?

assert(false); 導致測試失敗的可接受方式?

另外,如果在嘗試訪問類的私有方法時拋出NoSuchMethodExceptionSecurityException ,我是否應該甚至導致TestNG測試失敗,還是只打印異常的堆棧跟蹤信息?

@Test
public void getLevelTest() {
    try {
        menu.getClass().getDeclaredMethod("getLevel",int.class,String.class);
    } catch (NoSuchMethodException | SecurityException e) {
        assert(false);
    }
}

在TestNG框架中處理預期異常的另一種方法是:

@Test(expectedExceptions = {NoSuchMethodException.class, SecurityException.class})

如果用此注釋的測試遇到任何異常,則將其視為通過。

在這種情況下,使用assert(false)意味着您將丟失有關拋出異常的信息。 TestNG不知道異常與測試失敗有關。

您無需聲明任何內容或捕獲任何內容:

@Test
public void getLevelTest() throws Exception {
        menu.getClass().getDeclaredMethod("getLevel",int.class,String.class);
}

測試框架將捕獲異常並在測試結果中打印堆棧跟蹤。

使用assertTrue()assertFalse() ,另請參見此topis的舊答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM