GENIE / test_refactor.py
Tom1986's picture
重构:将app.py拆分为模块化架构 + 修复onnxruntime依赖问题
24437ee
#!/usr/bin/env python3
"""
重构后的模块化代码测试脚本
验证各个模块的功能是否正常工作
"""
def test_imports():
"""测试模块导入"""
print("🔍 测试模块导入...")
try:
import config
print("✅ config.py - 配置模块导入成功")
print(f" APP_TITLE: {config.APP_TITLE}")
print(f" AVAILABLE_CHARACTERS: {config.AVAILABLE_CHARACTERS}")
except ImportError as e:
print(f"❌ config.py 导入失败: {e}")
try:
import installer
print("✅ installer.py - 安装器模块导入成功")
except ImportError as e:
print(f"❌ installer.py 导入失败: {e}")
try:
import tts_engine
print("✅ tts_engine.py - TTS引擎模块导入成功")
print(f" TTS接口实例: {type(tts_engine.tts_interface)}")
except ImportError as e:
print(f"❌ tts_engine.py 导入失败: {e}")
try:
import ui_utils
print("✅ ui_utils.py - UI工具模块导入成功")
except ImportError as e:
print(f"❌ ui_utils.py 导入失败: {e}")
try:
import app
print("✅ app.py - 主应用模块导入成功")
except ImportError as e:
print(f"❌ app.py 导入失败: {e}")
def test_configuration():
"""测试配置功能"""
print("\n🛠️ 测试配置功能...")
try:
from config import get_cache_dir, setup_environment, EXAMPLE_TEXTS
cache_dir = get_cache_dir()
print(f"✅ 缓存目录设置: {cache_dir}")
setup_environment()
print("✅ 环境变量设置完成")
print(f"✅ 示例文本数量: {len(EXAMPLE_TEXTS)}")
except Exception as e:
print(f"❌ 配置功能测试失败: {e}")
def test_tts_interface():
"""测试TTS接口"""
print("\n🎵 测试TTS接口...")
try:
from tts_engine import tts_interface
print(f"✅ TTS接口创建成功")
print(f" 可用角色: {tts_interface.available_characters}")
print(f" 缓存目录: {tts_interface.model_cache_dir}")
print(f" 安装错误: {tts_interface.install_error}")
# 测试文本预处理
test_text = "こんにちは"
processed = tts_interface.preprocess_text(test_text)
print(f"✅ 文本预处理测试: '{test_text}' -> '{processed}'")
# 测试系统信息
sys_info = tts_interface.get_system_info()
print(f"✅ 系统信息获取: {list(sys_info.keys())}")
except Exception as e:
print(f"❌ TTS接口测试失败: {e}")
def test_ui_functions():
"""测试UI函数"""
print("\n🖥️ 测试UI函数...")
try:
from ui_utils import clear_all, load_example, create_tts_wrapper
from tts_engine import tts_interface
# 测试清空函数
result = clear_all()
print(f"✅ clear_all(): {result}")
# 测试示例加载
result = load_example("テスト", "misono_mika")
print(f"✅ load_example(): {result}")
# 测试包装器创建
wrapper = create_tts_wrapper(tts_interface)
print(f"✅ TTS包装器创建: {type(wrapper)}")
except Exception as e:
print(f"❌ UI函数测试失败: {e}")
def test_gradio_interface():
"""测试Gradio界面创建"""
print("\n🌐 测试Gradio界面...")
try:
from app import create_interface
demo = create_interface()
print(f"✅ Gradio界面创建成功: {type(demo)}")
except Exception as e:
print(f"❌ Gradio界面测试失败: {e}")
def main():
"""主测试函数"""
print("=" * 60)
print("🧪 Genie TTS 模块化重构 - 功能测试")
print("=" * 60)
test_imports()
test_configuration()
test_tts_interface()
test_ui_functions()
test_gradio_interface()
print("\n" + "=" * 60)
print("✨ 模块化重构测试完成!")
print("🎉 代码已成功拆分为独立、可维护的模块")
print("=" * 60)
if __name__ == "__main__":
main()