走完初步流程
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
"""LLM 模块测试。"""
|
||||
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
|
||||
|
||||
@@ -40,7 +39,7 @@ class TestQueryAnalysis:
|
||||
"""测试 query_analysis 端到端流程。"""
|
||||
|
||||
@patch("llm._create_llm")
|
||||
@patch("llm.build_analysis_prompt")
|
||||
@patch("llm.build_analysis_system_prompt")
|
||||
def test_query_analysis_calls_llm(self, mock_prompt, mock_create_llm):
|
||||
"""测试 query_analysis 正确调用 prompt 构建和 LLM stream_chat。"""
|
||||
mock_prompt.return_value = "test prompt"
|
||||
@@ -64,7 +63,7 @@ class TestQueryAnalysis:
|
||||
assert result == "analysis result"
|
||||
|
||||
@patch("llm._create_llm")
|
||||
@patch("llm.build_analysis_prompt")
|
||||
@patch("llm.build_analysis_system_prompt")
|
||||
def test_query_analysis_passes_source_content(self, mock_prompt, mock_create_llm):
|
||||
"""测试 source_content 正确传递。"""
|
||||
mock_prompt.return_value = "test prompt"
|
||||
@@ -91,7 +90,7 @@ class TestQueryAnalysis:
|
||||
)
|
||||
|
||||
@patch("llm._create_llm")
|
||||
@patch("llm.build_analysis_prompt")
|
||||
@patch("llm.build_analysis_system_prompt")
|
||||
def test_query_analysis_returns_text(self, mock_prompt, mock_create_llm):
|
||||
"""测试返回值是纯文本字符串。"""
|
||||
mock_prompt.return_value = "prompt"
|
||||
@@ -111,7 +110,7 @@ class TestQueryAnalysis:
|
||||
assert "关键实体" in result
|
||||
|
||||
@patch("llm._create_llm")
|
||||
@patch("llm.build_analysis_prompt")
|
||||
@patch("llm.build_analysis_system_prompt")
|
||||
def test_query_analysis_empty_response(self, mock_prompt, mock_create_llm):
|
||||
"""测试 LLM 返回空字符串时不会崩溃。"""
|
||||
mock_prompt.return_value = "prompt"
|
||||
@@ -125,4 +124,4 @@ class TestQueryAnalysis:
|
||||
|
||||
result = query_analysis(purpose="", index="")
|
||||
|
||||
assert result == ""
|
||||
assert result == ""
|
||||
|
||||
Reference in New Issue
Block a user