46 lines
2.3 KiB
JSON
46 lines
2.3 KiB
JSON
[
|
|
{
|
|
"level": "critical",
|
|
"role": "Maya",
|
|
"location": "app/comments.test.js:250",
|
|
"problem": "新增的 `postFindingsReview` 使用統計功能,但在測試中完全未驗證輸出內容。",
|
|
"suggestion": "應斷言 `reviewCalls[0].body` 確實包含了預期的 `usageSection` 資訊與統計數據。"
|
|
},
|
|
{
|
|
"level": "critical",
|
|
"role": "Maya",
|
|
"location": "app/findings.test.js:154",
|
|
"problem": "`filterFalsePositivesWithAI` 測試不足,缺乏對 `judgeFindingIsFalsePositive` 內部的獨立單元測試。",
|
|
"suggestion": "為內部函數 `judgeFindingIsFalsePositive` 補寫測試,單獨驗證其對不同 Verdict 值(false_positive, confirmed, 異常值)的處理邏輯。"
|
|
},
|
|
{
|
|
"level": "warning",
|
|
"role": "Maya",
|
|
"problem": "在 `filterFalsePositivesWithAI` 的測試中,雖然模擬了平行處理,但並未測試當多個並行裁決(Promise.all)中,部分成功、部分失敗時的結果一致性(即確保失敗者保守保留)。",
|
|
"suggestion": "增加測試案例:模擬其中一個 sub-agent 拋出錯誤、另一個判為誤報、第三個判為成立,驗證最終結果是否正確地保留了「失敗者」與「成立者」,且只剔除「確認誤報者」。",
|
|
"location": "app/findings.test.js:145",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "warning",
|
|
"role": "Maya",
|
|
"location": "app/findings.test.js:189",
|
|
"problem": "未測試 `resolveMissingLineNumbers` 當 `chatFn` 回傳無效行號時的處理。",
|
|
"suggestion": "補上測試案例:模擬 `chatFn` 回傳無效行號,確保其進入 fallback 邏輯。"
|
|
},
|
|
{
|
|
"level": "warning",
|
|
"role": "Maya",
|
|
"location": "app/resolve.test.js:21",
|
|
"problem": "在 `parseBotReviewComment` 的測試中,沒有驗證解析失敗時的行為。",
|
|
"suggestion": "補上邊界測試:輸入不完整的內容,驗證函數是否正確回傳 `null`。"
|
|
},
|
|
{
|
|
"level": "info",
|
|
"role": "Maya",
|
|
"location": "app/resolve.test.js:133",
|
|
"problem": "`judgeConversations` 的測試中,未對「AI 回傳空陣列」或「所有 Verdict 皆為空」的情境進行邊界驗證。",
|
|
"suggestion": "補上邊界測試,驗證該情境下是否將所有對話歸類為 `open`(保守保留)。"
|
|
}
|
|
]
|