Files
document_analyzer/tests/test_config.py
pzhang_zywl 682dedb4b4
CI / test (pull_request) Successful in 9s
fix: 完善 UT 覆盖,统一 pytest 测试发现 - Closes #2
- 新建 pytest.ini 统一 test discovery(tests/ + skills/ir_generation_skill/tests/)
- test_step1~3 转换为 pytest 兼容格式,无输出文件时自动 skip
- 新增 tests/test_detect_conflicts.py(18 个纯函数单测)
- 新增 tests/test_config.py(7 个配置模块单测)
- CI 改为 pytest -v 使用 pytest.ini testpaths
- DEV_AGENT.md 新增 PR 提交规范

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:07:07 +08:00

58 lines
1.5 KiB
Python

"""Unit tests for config.py pure functions."""
import sys
from pathlib import Path
import pytest
sys.path.insert(0, str(Path(__file__).parent.parent / "skills" / "ir_generation_skill"))
import config
def test_set_input_file():
original = config.INPUT_JSON
try:
config.set_input_file("/tmp/test_input.json")
assert config.INPUT_JSON == "/tmp/test_input.json"
finally:
config.set_input_file(original)
def test_config_constants_exist():
"""Verify all expected path constants are defined."""
assert config.BASE_DIR
assert config.OUTPUT_DIR
assert config.PROMPTS_DIR
assert config.TESTS_DIR
assert config.DOC_PARSER_OUTPUT
assert config.SEMANTIC_INDEX_JSON
assert config.IR_FRAGMENTS_JSON
assert config.PATH_ENUM_JSON
assert config.IR_AUTOCOMPLETE_FRAGMENTS_JSON
assert config.IR_FINAL_JSON
assert config.IR_AUDIT_REPORT_MD
def test_ensemble_temperatures_count():
"""Should have exactly 3 ensemble temperatures."""
assert len(config.ENSEMBLE_TEMPERATURES) == 3
def test_max_tokens_is_int():
assert isinstance(config.MAX_TOKENS, int)
assert config.MAX_TOKENS > 0
def test_temperature_is_float():
assert isinstance(config.TEMPERATURE, float)
assert 0.0 <= config.TEMPERATURE <= 2.0
def test_provider_models_has_expected_keys():
assert "deepseek" in config.PROVIDER_MODELS
assert "dashscope" in config.PROVIDER_MODELS
def test_model_name_in_provider_models():
assert config.MODEL_NAME in config.PROVIDER_MODELS.values()