2012-06-29 55 views
0

我需要用JUnit來覆蓋一些測試。我的方法返回java.io.File。我需要檢查哪些屬性?如何檢查jUnit中的文件?

  • 檢查文件的大小?
  • 檢查文件名?
  • 檢查...?

如何編寫JUnit測試方法,使用文件操作?有沒有框架?

+0

對不起,您將不得不放棄一點,讓我們來幫助您。你想要檢查什麼? –

回答

3

方法返回的java.io.File。什麼是檢查它的最好方法?

沒有 「最好的辦法」。它完全取決於文件應該包含什麼,以及你需要測試什麼。

在不同的情況下,我可能測試:

  • File參數不爲空,
  • File編碼的文件路徑有一個給定值,
  • 對應的文件存在,
  • 對應的文件給出了長度或行數,
  • 對應的文件包含給定的字符串(或字符串)或模式(模式),
  • 文件內容完全預期輸出的文件相匹配,
  • 文件內容解析到相同的數據結構的另一個文件,或
  • 該文件的內容進行解析的一些數據結構,它的一些其它性質。
+0

它的綽綽有餘。謝謝! –

+0

方法返回XML配置文件。 –

+0

它仍然取決於上下文。就像文件的生成過程一樣,你認爲需要進行單元測試。 –

1

每個測試必須根據要求。例如,它可以聲稱該方法返回一個可以安全地創建不存在的文件的名字 - 單元測試必須檢查確實沒有這樣的文件:

assertTrue(!file.isDirectory() && !file.canRead()) 

當需要告訴你返回的文件與一些屬性文件,你必須檢查確切聲明的屬性。例如,根據位置3的要求,您會發現符號'@'。所以,你的測試應該檢查:

  1. 文件確實存在,可以讀取
  2. Poistion 3的確不包含預期的符號
+0

謝謝!已經完成了。 –

2

如果您想創建一些臨時文件來運行測試,那麼您應該嘗試使用帶有TemporaryFolder的JUnit規則。

Here就是一個例子。

這是一種用必要文件準備測試的方法。

但是,這一切都歸結於你真正想做的事情,你的問題並沒有真正給出許多線索......

+0

我只需要檢查文件的正確返回。 –