2010-11-02 55 views
2

全部,關於在JUnit中聲明的查詢

我很難理解Junit中assertXXX()的概念。目前,我有一個方法A(String fileName),它爲輸入filename「XXX.XX」生成一個xml文件。所以我的測試用例包括測試代碼是否生成任何文件,而不僅僅是錯誤的XML文件,即方法A應該只生成XML文件。

我的代碼是:

testCreateFile() 
{ 
    String fileName = "testFile.csv"; 
    A(fileName); 
    File fileObj = new File (fileName); 
    assertFalse(fileObj.exists()); // Since I check if the file should not be created 

} 

如果我這樣做,我得到一個AssertionError和JUnit窗口顯示2次失敗。我必須處理這個異常嗎?

回答

1

如果A創建一個文件,你不想assertTrue?換句話說,您希望在運行A後找到該文件。然後聲明該文件的內容是預期的xml ...

如果異常是失敗,則不需要處理例外。

+0

那麼,我的實際代碼使用fileName.indexOf(「。xml」)檢查擴展。但是,對於上面的代碼發佈,A不應該創建一個.csv文件,因此我期望assertFalse()正常工作。 – 2010-11-02 19:20:36

+0

啊我明白了。到底什麼是問題呢?你得到什麼錯誤? – hvgotcodes 2010-11-02 19:22:19

+0

我的問題是,assertFalse()給了我這個AssertionError,如果我使用assertTrue(),那就沒有錯誤。基本上,我發現很難理解如何使用斷言函數。是否應該用於測試傳遞的有效信息或傳遞的無效信息。 – 2010-11-02 19:37:43