單元測試怎麼寫:隔離、斷言與範例
單元測試用可重複的輸入檢查一小塊程式的可觀察行為。以折扣函式為例,先確定輸入和預期結果,再執行函式並檢查結果。
安排、執行、驗證
例如折扣規則是金額滿 1,000 元打九折。安排三筆輸入 999、1,000、1,001,再分別驗證是否達到門檻與計算結果。貨幣最好以整數分計算,並明確說明進位規則。
隔離不穩定的依賴
若程式需要時間或讀取資料,傳入可控制的時鐘或資料介面。測試可以使用固定時刻與測試資料。需要驗證真實資料庫或網路行為時,再另寫整合測試。
命名與維護
用名稱交代條件與結果,例如「金額等於門檻時會套用折扣」。先測公開行為和邊界,避免把私有實作步驟寫入斷言。測試失敗時應能從名稱、實際值與預期值看出差異。
