完成這個單元後,你將能夠:
在 Chat 中快速產生測試程式碼
用中文註解讓 Copilot 生成測試
與 Copilot 對話產生客製化測試
在終端機執行測試並理解結果
在開發階段就找出 Bug
不用等到上線才發現問題
修改程式碼後跑測試
確保沒有破壞原有功能
測試案例說明函式該如何使用
比註解更可靠
測試全部通過
更有信心交付程式碼
Ctrl + Alt + I)/tests
選取函式後,在 Chat 中輸入 /tests
def 到函式結尾)
Copilot 自動產生完整的測試程式碼
test_xxx.py)# 測試 is_prime 函式的單元測試
用中文註解讓 Copilot 產生測試程式碼
在 Copilot Chat 中直接描述你的測試需求:
請為以下函式產生 pytest 單元測試:
或使用檔案參照:
#file:practice9.py 請為這個檔案中的函式產生 pytest 單元測試
透過對話方式產生客製化測試
| 框架 | 特點 | 使用方式 |
|---|---|---|
| unittest | Python 內建、不需額外安裝 | python -m unittest test_file.py |
| pytest | 語法簡潔、功能強大、社群推薦 | python -m pytest test_file.py -v |
unittest 開始,熟悉後再學 pytest。pip install pytest
test_xxx.pyCtrl + `)
在終端機中執行測試指令
python -m pytest test_practice.py -vpython -m unittest test_practice.py
測試執行完成後的結果畫面
測試通過!函式行為符合預期。
測試失敗!需要檢查函式邏輯或測試案例。
使用清楚的命名
test_函式名_測試情境
例:test_is_prime_with_negative
考慮特殊情況:
- 空值 / None
- 空列表 / 空字串
- 負數 / 零
確認錯誤輸入時
函式會正確處理或拋出異常
每個測試函式只測一件事
失敗時更容易找出問題
practice9.py(包含多個函式)/tests 產生測試test_practice.py,用註解產生測試/tests 是 Copilot Chat 中用來產生單元測試的 Slash 指令。注意是複數形式 tests,不是 test。
兩種方式都可以執行 pytest 測試。pytest test.py 是簡寫,python -m pytest test.py -v 則更明確且顯示詳細資訊(-v 表示 verbose)。
FAILED 表示測試執行成功,但函式的實際輸出與測試預期不符。這可能是函式有 Bug,也可能是測試案例的預期值設錯了。
1. /tests 指令
2. 註解驅動
3. Chat 對話
unittest(內建)
pytest(推薦)
終端機執行測試
PASSED = 通過
FAILED = 失敗
Copilot 產生的測試
可能需要補充邊界條件
「好的測試是程式品質的守護者」
Part 11:實戰應用 - 程式碼重構
用 Copilot 優化和改善程式碼結構!
請輸入密碼以查看答案