基本上我有兩個主要問題:如何進行單元測試?
- 你究竟應該測試什麼?
- 你怎麼做到的?
問題是我有幾個應用程序依賴於數據庫連接和/或通信應用程序,這意味着大多數測試用例都是集成測試(或者我認爲)。
大多數類是本身非常簡單,但是實現的通信協議,這是那些將是自動化測試有用的人,似乎可以很好地成爲「單元測試」的模式。
另一個例子。我爲消費者/生產者模式開發了帶有多線程支持的I管道結構。當一個線程讀取管道並發現它爲空時,它會阻塞,直到寫入者寫入管道。我應該使用單元測試來測試這個類嗎?
你如何決定單元測試?
編輯:我的意思是自動單元測試編寫單元測試。
所以,即使你需要模擬其他對象或模擬外部事件或設備,它可以被認爲是一個單元測試和測試應該寫出來嗎? – 2010-02-23 23:22:38
@Jorge Corboda是的。我想是這樣。很多像運行在容器中的代碼一樣的環境很難單獨測試。所以爲測試創建模擬對象被認爲是很好的做法。儘管測試代碼可以獨立運行,這一點很重要。 – 2010-02-23 23:55:47
雖然從技術上來說,任何在被測單元(數據庫,文件系統等)之外具有依賴性的代碼測試都是集成測試。但是,這兩個術語可以交替使用,而且往往是相同的。 – ZombieSheep 2010-02-24 11:28:08