0
有些情況下,根據某些環境條件,軟件的行爲會有所不同,例如文件是否存在於某個地方。在文件存在時使用不同行爲的單元測試
在我的情況下,我正在開發一個庫,它是根據類路徑中的配置文件進行配置的(並且如果配置文件不存在,則回退到默認行爲)。
我該如何測試這個班級? 我需要編寫測試,評估在下列情況下,該類:
- 文件不上classpath中存在
- 與含量的文件類路徑
- 存在與內容B中的文件類路徑 存在
但我不知道如何配置環境來證明所有這些。然後依次執行測試。
順便說一下,我使用的是Java,並且我在測試類路徑中都有JUnit和TestNG。
編輯: 其中的一個問題是,該配置文件駐留在類路徑中,所以如果正常的ClassLoader查找並加載它,它只要在同一個類加載器返回相同的內容。 我相信使用自定義ClassLoader進行測試非常複雜,它需要測試來驗證測試!
請仔細閱讀我們的[SO問題清單(http://meta.stackoverflow.com/questions/260648/stack-溢出問題清單)來幫助你提出一個好問題,從而得到一個很好的答案。 –
保持環境(文件系統,環境變量,網絡,時間/日期,數據庫)不在您的單元測試中。這是一個痛苦。只是嘲笑一切。 – Robert
@Robert我想這樣做,但生產環境呢?在目標部署中,我需要檢查是否存在類路徑文件。它是否也需要測試中的行爲呢? –