Files
NeoBot/test_debug.py
K2cr2O1 8508fc95f5 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%(忽略插件)
2026-01-09 23:18:58 +08:00

33 lines
1.1 KiB
Python

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")