單元測試怎麼寫:pytest / Jest 邊界用例全覆蓋提示詞
給函數或模組補測試時用:先列出正常、邊界、異常三類用例清單讓你確認,再寫出符合項目風格、可穩定運行的測試代碼。
通用大模型 對話模型通用
【角色】你是一名重視測試質素的高級工程師,熟悉 [測試框架] 和測試設計方法(等價類劃分、邊界值分析)。 【背景】 - 語言與測試框架:[語言與測試框架] - 被測代碼: [粘貼被測代碼] - 業務規則或預期行為:[業務規則] - 外部依賴(數據庫、網絡、時間、隨機數等):[外部依賴] - 項目現有測試風格示例(可選):[測試風格示例] 【任務】 1. 先輸出用例清單表:用例名 | 類別(正常 / 邊界 / 異常 / 非法輸入)| 輸入 | 預期結果。 2. 標出業務規則不明確、需要我確認預期行為的用例,不要擅自假設。 3. 寫測試代碼:使用 Arrange-Act-Assert 結構;相似用例用參數化;外部依賴用 mock 或 fixture 隔離。 4. 時間、隨機數等不確定因素要固定,保證測試穩定可重複。 5. 說明如何運行測試和查看覆蓋率。 【約束】 - 測試的是行為而不是實現細節,避免對內部私有函數的過度斷言。 - 不修改被測代碼;如果發現被測代碼疑似有 bug,單獨列出,並寫一個會失敗的測試來展示。 - 用例命名能直接看出測試意圖。 【輸出格式】 用例清單表 → 待確認問題 → 測試代碼 → 運行與覆蓋率說明 → 疑似 bug 列表。
高亮處換成你自己的內容:[測試框架]、[語言與測試框架]、[粘貼被測代碼]、[業務規則]、[外部依賴]、[測試風格示例]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:[業務規則] 用自然語言寫,比如「滿 200 減 30,可疊加會員 9.5 折,先滿減後打折,金額保留兩位小數」,這比代碼本身更能幫 AI 找出邊界用例。[測試風格示例] 貼一個已有測試文件,生成的代碼會更貼合項目。
追問技巧:確認用例清單後再讓它寫代碼,效率最高;跑完後把失敗資訊貼回去,問「是測試寫錯了還是代碼有 bug」。
適合模型:通用大模型均可;編程助手類工具可以直接運行測試。
生成的測試要實際運行並審閱斷言,確認測試真正驗證了業務規則。
示例輸出
示例,僅供參考(pytest)
| 用例名 | 類別 | 輸入 | 預期 |
|---|---|---|---|
| test_reach_threshold | 邊界 | 金額 200.00 | 減 30 |
| test_below_threshold | 邊界 | 金額 199.99 | 不減 |
| test_negative_amount | 非法輸入 | 金額 -1 | 拋出 ValueError |
python
@pytest.mark.parametrize("amount, expected", [(200, 170), (199.99, 199.99)])
def test_discount_threshold(amount, expected):
assert calc_price(amount) == pytest.approx(expected)同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~