28 lines
920 B
Python
28 lines
920 B
Python
|
|
import os
|
|||
|
|
|
|||
|
|
# 设置虚拟 key 以避免测试收集期间 pydantic-ai 初始化错误
|
|||
|
|
os.environ["DEEPSEEK_API_KEY"] = "dummy_key_for_testing"
|
|||
|
|
|
|||
|
|
import sys
|
|||
|
|
sys.path.append(os.getcwd())
|
|||
|
|
|
|||
|
|
from src.agent_app import predict_student
|
|||
|
|
|
|||
|
|
# 注意: 我们直接测试工具函数,而不是完整的 agent 循环
|
|||
|
|
# 因为 agent 需要 API key,而 CI/测试环境中可能未设置。
|
|||
|
|
|
|||
|
|
from unittest.mock import patch
|
|||
|
|
|
|||
|
|
def test_tool_wrapper():
|
|||
|
|
# 测试 Agent wrapper 函数是否能正确调用到底层 infer
|
|||
|
|
# 我们 mock 底层的 predict_pass_prob,这样测试就不依赖于实际的模型文件是否存在
|
|||
|
|
with patch("src.agent_app.predict_pass_prob") as mock_predict:
|
|||
|
|
mock_predict.return_value = 0.85
|
|||
|
|
|
|||
|
|
prob = predict_student(None, 12, 8, 0.9, 2, "Self")
|
|||
|
|
|
|||
|
|
# 验证调用
|
|||
|
|
assert prob == 0.85
|
|||
|
|
mock_predict.assert_called_once_with(12, 8, 0.9, 2, "Self")
|
|||
|
|
|