Files
assist/test_refactor.py

92 lines
2.6 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
测试重构后的应用
"""
import sys
import os
# 添加项目路径
sys.path.append('src')
def test_blueprints():
"""测试蓝图注册"""
try:
from src.web.app import app
print("✓ Flask应用导入成功")
# 测试蓝图注册
blueprints = list(app.blueprints.keys())
print(f"✓ 已注册蓝图: {blueprints}")
expected_blueprints = [
'alerts', 'workorders', 'conversations', 'knowledge',
'monitoring', 'system', 'feishu_sync', 'core', 'auth',
'agent', 'vehicle', 'analytics', 'test'
]
for bp in expected_blueprints:
if bp in blueprints:
print(f"✓ 蓝图 {bp} 已注册")
else:
print(f"✗ 蓝图 {bp} 未注册")
# 测试路由
routes = [str(rule) for rule in app.url_map.iter_rules()]
agent_routes = [r for r in routes if 'agent' in r]
vehicle_routes = [r for r in routes if 'vehicle' in r]
analytics_routes = [r for r in routes if 'analytics' in r]
print(f"✓ Agent相关路由数量: {len(agent_routes)}")
print(f"✓ Vehicle相关路由数量: {len(vehicle_routes)}")
print(f"✓ Analytics相关路由数量: {len(analytics_routes)}")
return True
except Exception as e:
print(f"✗ 应用测试失败: {e}")
import traceback
traceback.print_exc()
return False
def test_blueprint_imports():
"""测试蓝图模块导入"""
blueprints_to_test = [
('src.web.blueprints.agent', 'agent_bp'),
('src.web.blueprints.vehicle', 'vehicle_bp'),
('src.web.blueprints.analytics', 'analytics_bp'),
('src.web.blueprints.test', 'test_bp'),
]
for module_name, bp_name in blueprints_to_test:
try:
module = __import__(module_name, fromlist=[bp_name])
bp = getattr(module, bp_name)
print(f"{module_name}.{bp_name} 导入成功")
except Exception as e:
print(f"{module_name}.{bp_name} 导入失败: {e}")
return False
return True
if __name__ == '__main__':
print("开始测试重构后的应用...")
print("=" * 50)
success = True
print("\n1. 测试蓝图模块导入...")
success &= test_blueprint_imports()
print("\n2. 测试Flask应用和蓝图注册...")
success &= test_blueprints()
print("\n" + "=" * 50)
if success:
print("✓ 所有测试通过!重构成功!")
else:
print("✗ 部分测试失败,请检查代码")
sys.exit(1)