簡體   English   中英

如何在junit測試中跟蹤值?

[英]How to trace the values in a junit test?

我正在運行一個簡單的測試用例,其中測試數據庫中是否沒有id,並且返回預期的異常。

但這行不通。 所以我的問題是如何在junit中跟蹤測試的值? 有什么好的解決方案嗎?

我感謝您的回答!!!

更新:測試用例:

@Test(expected = SQLException.class)
public void testDeleteID(){
    ArrayList<Produkt> queryResult=new ArrayList<Produkt>();
    shandler.deleteProdukt(666);
    queryResult=shandler.findAll();

}

IDE:日食

您是否正在使用諸如Eclipse之類的IDE? 添加一個斷點,並作為調試運行。

我認為您嘗試捕獲嵌套的Exception。 將您的代碼更改為該代碼,並查看stacktrace中的具體異常:

@Test(expected = Exception.class) 
public void testDeleteID(){
 ArrayList<Produkt> queryResult=new ArrayList<Produkt>();
 shandler.deleteProdukt(666);
 queryResult=shandler.findAll();  
} 

另一種方法:刪除“ expected”,並用try-catch塊包圍數據庫操作。

@Test
public void testDeleteID(){
 ArrayList<Produkt> queryResult=new ArrayList<Produkt>();
 try{
   shandler.deleteProdukt(666);
   queryResult=shandler.findAll();  
   assertTrue(false);
 }catch(Exception ex){
   assertTrue(true);
 }
} 

但是第一個是更好的解決方案。 我認為您發現了錯誤的異常。

暫無
暫無

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

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