你是否在程式開發的過程中遇到以下的情況:當你花了很長的時間開發一個PHP應用後,你認為應該是大功告成了,可惜在調試的時候,老是不斷的發現bug,而且最可怕的是,這些bug是重複出現的,你可能會發現這些bug之間會有關聯,但卻老是找不到問題的所在。
當你遇到以上這些令你沮喪的情況時,你一定會想能有什麼更好的辦法去解決呢?辦法當然是有的!這就是使用單元測試。單元測試不但可以在一定程度上解決上述頭痛的問題,而且能讓程式碼變的容易維護,還可以讓你更重構程式碼。
一旦你編寫好單元測試用例,當你需要修改你的程式碼時,你要做的事情就是重新運行你的單元測試用例並觀察這些單元測試用例能否通過,如果通過了的話,證明程式碼是沒問題的。
人們往往會說:既然單元測試這麼好,為什麼那麼多人還是不不願意去寫單元測試呢?有以下幾種理解上的誤曲:
1、認為寫單元測試太浪費時間。雖然目前很多IDE工具都為編寫單元測試建立好了框架,但還是要開發者編寫一些單元測試的程式碼的。就像許多開發中的最佳實踐一樣,用正確的方法去做正確的事情會為開發節省大量的時間。每當新增加新功能時,你可能透過造訪你的網頁到處點擊手動測試,而運行建立好的單元測試用例其速度其實比透過手動去測試的速度更快。
2、認為既然程式碼能運行了,不需要再寫單元測試。但假設團隊中有新的成員,如果沒有良好的單元測試案例,新成員很有可能隨意地去編碼而不考慮各種後果。如果有編寫良好的單元測試,在程式執行時進行各種測試,則能最大程度避免bug的產生。
3、認為寫單元測試程式碼枯燥無味。程式設計師的天性是解決問題,而許多程式設計師認為在緊張的程式碼工作時,還要寫單元測試程式碼,會很枯燥。但要知道的是,如果能透過編寫單元測試在很早的階段就能盡可能發現程式碼中多的錯誤的話,那麼既節省時間減少了出錯,何樂而不為?
開始動手安裝PHPUnit
本文中將透過介紹PHP中的單元測試利器PHPUnit(