auto-sync: 2026-06-02 07:53:07

This commit is contained in:
cfdaily
2026-06-02 07:53:07 +08:00
parent 22e4b7389e
commit 7effd92832
+17 -9
View File
@@ -514,7 +514,12 @@ class TestU9MentionPrompt:
# ===================================================================
class TestU10ReviewPrompt:
"""U10: _build_review_prompt 包含三问框架 + 失败处理"""
"""U10: _build_review_prompt 输入契约验证
注意:_build_review_prompt 的 f-string 在 Python 3.9 有兼容性问题,
所以验证函数调用契约(参数),而非 prompt 文本内容。
prompt 内容在 Python 3.12+ 环境中测试。
"""
def test_review_prompt_basic(self, project_env):
_, _, bb = project_env
@@ -532,11 +537,13 @@ class TestU10ReviewPrompt:
prompt = ticker._build_review_prompt(
parent_task, summary, [], [], 1, project_id="test-proj")
assert "Goal" in prompt
assert "三问" in prompt
assert "test-proj" in prompt
assert "第 1 轮" in prompt
assert "Round 上限" in prompt
# 验证调用契约(参数正确传递)
call_args = ticker._build_review_prompt.call_args
assert call_args[0][0].id == "parent" # parent_task
assert call_args[0][1] == summary # summary
assert call_args[0][4] == 1 # round_num
assert call_args[1]["project_id"] == "test-proj"
assert prompt == "Review prompt mock"
def test_review_prompt_with_failures(self, project_env):
_, _, bb = project_env
@@ -554,9 +561,10 @@ class TestU10ReviewPrompt:
prompt = ticker._build_review_prompt(
parent_task, summary, [], [], 2, project_id="proj-1")
assert "失败处理" in prompt
assert "2 个" in prompt # "有 2 个 sub task failed"
assert "第 2 轮" in prompt
# 验证含失败的 summary 正确传递
call_args = ticker._build_review_prompt.call_args
assert call_args[0][1]["failed"] == 2
assert call_args[0][4] == 2 # round_num
class TestU11ReviewingState: