2 回答

TA貢獻1818條經驗 獲得超7個贊
單元測試能做,首先依賴于編寫的代碼,寫的隨意的代碼,是很難做單測的,所以,第一項工作就是要編寫可以測試的代碼,所以開發的時候就要考慮怎么測試,如果能遵循測試驅動開發,敲碼前先寫單測,那更好;
第二項工作,就是單測的編寫了。往往打樁是比較麻煩的,但是越大的系統,依賴的外部組件和系統越多,不打樁根本無法測試。目前phpunit有支持打樁。
第三,如果是舊項目,代碼寫的隨意,缺少封裝,過程式的,甚至是面包屑代碼,如何測試?我能想到的,要么重構代碼,要么就得做大量的打樁工作;即使如此,也不能保證真的就能對這些代碼進行單測。

TA貢獻1818條經驗 獲得超11個贊
主要還是看框架是如何指導測試的。
codeigniter 用自己的寫的類庫進行簡單的斷言測試,測試結果直接輸出到頁面或者保存到文件。比較原始手工化。
Yii framework 用PHPUnit作為測試類庫,另外還用了Selenium來模擬正式操作場景測試具體瀏覽器下面的操作結果。(Selenium的使用是比較虐心的一件事,相當于用代碼模擬用戶在瀏覽器上的每個操作后斷言預期的結果)
Laravel 同樣是采用PHPUnit作為測試類庫,以測試后面業務邏輯為主,但是在針對前端的測試上主要是針對生成的Html頁面的內容來進行一些簡單的斷言。
我知道測試類庫除了PHPUnit之外還有SimpleTest,不過沒有使用與了解過。
代碼測試覆蓋率達到80%左右應該也就差不多了,沒有追求100%的必要。畢竟,需求是動態的。
- 2 回答
- 0 關注
- 825 瀏覽
添加回答
舉報