Spaces:
Sleeping
Sleeping
# tests/test_config_loader.py | |
import pytest | |
import json | |
import tempfile | |
from pathlib import Path | |
from modules.config_loader import ConfigLoader | |
class TestConfigLoader: | |
def temp_config_dir(self): | |
"""创建临时配置目录和文件""" | |
with tempfile.TemporaryDirectory() as tmp_dir: | |
config_dir = Path(tmp_dir) | |
# 创建测试配置文件 | |
cities_data = { | |
"cities": [ | |
{"name": "巴黎", "country": "法国", "aliases": ["paris"]} | |
] | |
} | |
with open(config_dir / "cities.json", 'w', encoding='utf-8') as f: | |
json.dump(cities_data, f, ensure_ascii=False) | |
personas_data = { | |
"personas": { | |
"planner": {"name": "规划型", "keywords": ["规划", "安排"]} | |
} | |
} | |
with open(config_dir / "personas.json", 'w', encoding='utf-8') as f: | |
json.dump(personas_data, f, ensure_ascii=False) | |
interests_data = { | |
"interests": {"美食": ["美食", "餐厅"]} | |
} | |
with open(config_dir / "interests.json", 'w', encoding='utf-8') as f: | |
json.dump(interests_data, f, ensure_ascii=False) | |
yield config_dir | |
def test_load_cities(self, temp_config_dir): | |
"""测试城市配置加载""" | |
loader = ConfigLoader(temp_config_dir) | |
assert "巴黎" in loader.cities | |
assert "paris" in loader.cities | |
assert loader.cities["巴黎"]["name"] == "巴黎" | |
def test_load_personas(self, temp_config_dir): | |
"""测试人格配置加载""" | |
loader = ConfigLoader(temp_config_dir) | |
assert "planner" in loader.personas | |
assert loader.personas["planner"]["name"] == "规划型" | |
def test_load_interests(self, temp_config_dir): | |
"""测试兴趣配置加载""" | |
loader = ConfigLoader(temp_config_dir) | |
assert "美食" in loader.interests |