Files
LLMWiki/tests/test_analysis_prompt.py
2026-06-04 09:58:45 +08:00

42 lines
1.6 KiB
Python

"""分析提示构建函数测试。"""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
from prompt import build_analysis_prompt
class TestBuildAnalysisPrompt:
"""测试分析提示构建函数。"""
def test_basic_prompt(self) -> None:
"""测试基础提示词包含核心结构。"""
prompt = build_analysis_prompt(purpose="", index="")
assert "专业研究分析师" in prompt
assert "关键实体" in prompt
def test_with_purpose(self) -> None:
"""测试传入目的时,提示词包含 Wiki 目的部分。"""
prompt = build_analysis_prompt(purpose="测试目的", index="")
assert "Wiki 目的" in prompt
assert "测试目的" in prompt
def test_with_index(self) -> None:
"""测试传入索引时,提示词包含 Wiki 索引部分。"""
prompt = build_analysis_prompt(purpose="", index="测试索引")
assert "当前 Wiki 索引" in prompt
assert "测试索引" in prompt
def test_empty_content(self) -> None:
"""测试空内容时,可选部分不出现在提示词中。"""
prompt = build_analysis_prompt(purpose="", index="")
assert "Wiki 目的" not in prompt
assert "当前 Wiki 索引" not in prompt
def test_language_from_config(self) -> None:
"""测试语言设置从配置文件读取。"""
prompt = build_analysis_prompt(purpose="", index="", configured_language=None)
assert "使用" in prompt
assert "语言输出分析报告" in prompt