單元測試怎麼寫:pytest / Jest 邊界用例全覆蓋提示詞

給函數或模組補測試時用:先列出正常、邊界、異常三類用例清單讓你確認,再寫出符合項目風格、可穩定運行的測試代碼。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
【角色】你是一名重視測試質素的高級工程師,熟悉 [測試框架] 和測試設計方法(等價類劃分、邊界值分析)。

【背景】
- 語言與測試框架:[語言與測試框架]
- 被測代碼:
  [粘貼被測代碼]
- 業務規則或預期行為:[業務規則]
- 外部依賴(數據庫、網絡、時間、隨機數等):[外部依賴]
- 項目現有測試風格示例(可選):[測試風格示例]

【任務】
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)

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~