我試圖進入單元測試爲它引入的明顯積極,我試圖編寫一個單元測試我爲前一天寫的類。 (我知道這與TDD相反,請耐心等待)PHPUnit測試問題 - 如何單元測試我的課
我的課程Image
與其他一些用於圖像處理。
Image
本質上包裝GD圖像資源並將數據與其一起存儲。例如,Image
一個實例將始終包含它的當前狀態,即其新的寬度/高度,如果調整,將原始圖像數據等
的Image
類也包含了方法,
- 創建本身來自文件,字符串數據或URL,例如
$image->loadFromPath()
- 從當前的
Image
實例的屬性創建新的GD圖像資源,例如,圖像大小調整,以保持背景透明度等 - 克隆使用的GD圖像資源的操作類
我掙扎什麼是單位如何測試這個類正確以及PHPUnit。我已經完成了一些閱讀,並且我對如何解決這個問題有一些矛盾的想法,我不知道什麼是正確的。
- 爲類的每種方法寫一個測試。我在某處讀到我應該測試每種方法。然而,一些方法運行其他方法(我可以添加),所以你有一個依賴鏈。但我也讀過每個單元測試應該獨立於另一個。那麼如果是這樣的話我該怎麼辦?
- 將每個測試寫爲類的使用路線。我還在某處讀到,每個測試應該代表1個路徑/使用路線,您可以在課程中使用。因此,如果您覆蓋每一種用法,您最終將獲得完整的代碼覆蓋率。
那麼,哪些是正確的,如果有的話?
你知道代碼覆蓋率嗎?國際海事組織(IMO)至少運行一行代碼至關重要,而不是爲每一種方法都創建一個測試,這對於你提到的原因並不總是必要的。 – Franz 2010-01-20 15:54:32
+1進入UnitTests – Gordon 2010-01-20 15:59:22
我知道什麼代碼覆蓋率是肯定的,你應該瞄準100%,這就是說每一行至少應該運行一次。 因此,最好是編寫測試用例,其中每個測試都是您的類執行的操作,而不是針對特定方法的每個測試? – 2010-01-20 16:00:33