feat: 添加测试覆盖率并修复相关问题
refactor(redis_manager): 移除冗余的ConnectionError处理 refactor(event_handler): 优化Bot类型注解 refactor(factory): 移除未使用的GroupCardNoticeEvent test: 添加全面的单元测试覆盖 - 添加test_import.py测试模块导入 - 添加test_debug.py测试插件加载调试 - 添加test_plugin_error.py测试错误处理 - 添加test_config_loader.py测试配置加载 - 添加test_redis_manager.py测试Redis管理 - 添加test_bot.py测试Bot功能 - 扩展test_models.py测试消息模型 - 添加test_plugin_manager_coverage.py测试插件管理 - 添加test_executor.py测试代码执行器 - 添加test_ws.py测试WebSocket - 添加test_api.py测试API接口 - 添加test_core_managers.py测试核心管理模块 fix(plugin_manager): 修复插件加载日志变量问题 覆盖率已到达86%(忽略插件)
This commit is contained in:
33
test_debug.py
Normal file
33
test_debug.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import importlib
|
||||
import sys
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
# 模拟插件管理器
|
||||
class MockPluginManager:
|
||||
def __init__(self):
|
||||
self.loaded_plugins = set()
|
||||
self.command_manager = MagicMock()
|
||||
self.command_manager.plugins = {}
|
||||
|
||||
def load_all_plugins(self):
|
||||
from core.utils.logger import logger
|
||||
package_name = "plugins"
|
||||
module_name = "bad_plugin"
|
||||
full_module_name = f"{package_name}.{module_name}"
|
||||
|
||||
action = "加载"
|
||||
try:
|
||||
module = importlib.import_module(full_module_name)
|
||||
self.loaded_plugins.add(full_module_name)
|
||||
logger.success(f"成功{action}: {module_name}")
|
||||
except Exception as e:
|
||||
print(f"DEBUG: Exception caught in mock: {e}")
|
||||
print(f"DEBUG: action exists: {'action' in locals()}")
|
||||
logger.exception(f" {action}插件 {module_name} 失败: {e}")
|
||||
|
||||
# 测试
|
||||
if __name__ == "__main__":
|
||||
with patch("importlib.import_module", side_effect=Exception("Load error")):
|
||||
pm = MockPluginManager()
|
||||
pm.load_all_plugins()
|
||||
print("Test completed")
|
||||
Reference in New Issue
Block a user