- 新建 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>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
"""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()
|
||||
Reference in New Issue
Block a user