Try Ithy free
Save

发布于 · 更新

單元測試怎麼寫:隔離、斷言與範例

單元測試用可重複的輸入檢查一小塊程式的可觀察行為。以折扣函式為例,先確定輸入和預期結果,再執行函式並檢查結果。

安排、執行、驗證

例如折扣規則是金額滿 1,000 元打九折。安排三筆輸入 999、1,000、1,001,再分別驗證是否達到門檻與計算結果。貨幣最好以整數分計算,並明確說明進位規則。

隔離不穩定的依賴

若程式需要時間或讀取資料,傳入可控制的時鐘或資料介面。測試可以使用固定時刻與測試資料。需要驗證真實資料庫或網路行為時,再另寫整合測試。

命名與維護

用名稱交代條件與結果,例如「金額等於門檻時會套用折扣」。先測公開行為和邊界,避免把私有實作步驟寫入斷言。測試失敗時應能從名稱、實際值與預期值看出差異。

參考資料

Microsoft 的單元測試實務

Ask Ithy a follow-up