Unit Test
單元測試
01你是不是遇到這個 / THE SYMPTOM
我每改一個地方就怕弄壞別的功能,每次都要手動點一遍 App 確認,又慢又常漏掉。想要有個東西自動幫我檢查「這個小函式算出來的結果對不對」。
↑ 如果你點頭了,你要的關鍵字就是 Unit Test。
02這是什麼 / DEFINITION
針對程式裡最小的單位(通常是單一函式或方法)寫的自動化測試,用固定輸入去驗證輸出是否符合預期,不依賴資料庫、網路等外部東西。
03什麼時候用 / WHEN TO USE
函式裡有計算、判斷、轉換邏輯(例如算折扣、驗證 email 格式、格式化日期),想確保改了之後行為不變時。是測試金字塔最底層、最該優先寫的一層。
04怎麼跟 AI 說 / HOW TO ASK
直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:
幫我用 Jest 為這個 calculateDiscount 函式寫單元測試,涵蓋正常折扣、折扣為 0、以及輸入為負數的邊界情況。
05常見坑 / WATCH OUT
⚠ 別把「需要連資料庫或打 API 才能跑」的測試叫單元測試,那是整合測試(integration test);單元測試要快、要獨立、不碰外部資源,所以才能一秒跑幾百個。
06相關的詞 / RELATED