test_config.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. 配置模块测试
  5. """
  6. import os
  7. import pytest
  8. from unittest.mock import patch, MagicMock
  9. import sys
  10. sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
  11. class TestConfig:
  12. """配置测试"""
  13. def test_load_yaml_config(self):
  14. """测试加载 YAML 配置"""
  15. with patch("os.path.exists", return_value=True):
  16. with patch("builtins.open", MagicMock()):
  17. from config.loader import load_config
  18. # 测试不报错
  19. assert load_config() is not None
  20. def test_get_config_with_default(self):
  21. """测试获取配置默认值"""
  22. from config.loader import get_config
  23. # 不存在的配置应返回默认值
  24. result = get_config("not.exist.key", default="default_value")
  25. assert result == "default_value"
  26. def test_get_config_nested(self):
  27. """测试获取嵌套配置"""
  28. from config.loader import get_config
  29. # 测试数据库配置获取
  30. result = get_config("database.mysql.host")
  31. assert result is not None
  32. def test_reload_config(self):
  33. """测试重新加载配置"""
  34. from config.loader import reload_config
  35. config = reload_config()
  36. assert isinstance(config, dict)