优化项目架构
This commit is contained in:
117
SproutFarm-Backend/test/test_game_tips_config.py
Normal file
117
SproutFarm-Backend/test/test_game_tips_config.py
Normal file
@@ -0,0 +1,117 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
测试游戏小提示配置功能
|
||||
验证服务端能否正确加载和返回游戏小提示配置数据
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
# 添加当前目录到Python路径
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
from TCPGameServer import TCPGameServer
|
||||
|
||||
def test_mongo_api():
|
||||
"""测试MongoDB API的游戏小提示配置功能"""
|
||||
print("=== 测试MongoDB API ===\n")
|
||||
|
||||
try:
|
||||
# 创建MongoDB API实例
|
||||
mongo_api = SMYMongoDBAPI()
|
||||
|
||||
# 连接到数据库
|
||||
if not mongo_api.connect():
|
||||
print("错误:无法连接到MongoDB数据库")
|
||||
return False
|
||||
|
||||
print("成功连接到MongoDB数据库")
|
||||
|
||||
# 获取游戏小提示配置
|
||||
config = mongo_api.get_game_tips_config()
|
||||
|
||||
if config:
|
||||
print("成功获取游戏小提示配置:")
|
||||
print(f" 切换模式: {config.get('切换模式', 'N/A')}")
|
||||
print(f" 切换速度: {config.get('切换速度', 'N/A')}")
|
||||
tips = config.get('游戏小提示', [])
|
||||
print(f" 游戏小提示数量: {len(tips)}")
|
||||
print(" 前3条小提示:")
|
||||
for i, tip in enumerate(tips[:3]):
|
||||
print(f" {i+1}. {tip}")
|
||||
return True
|
||||
else:
|
||||
print("错误:无法获取游戏小提示配置")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"测试过程中发生错误: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
# 断开数据库连接
|
||||
if 'mongo_api' in locals():
|
||||
mongo_api.disconnect()
|
||||
print("已断开MongoDB数据库连接")
|
||||
|
||||
def test_game_server():
|
||||
"""测试游戏服务器的游戏小提示配置加载功能"""
|
||||
print("\n=== 测试游戏服务器 ===\n")
|
||||
|
||||
try:
|
||||
# 创建游戏服务器实例(不启动网络服务)
|
||||
server = TCPGameServer()
|
||||
|
||||
# 初始化MongoDB连接
|
||||
server.mongo_api = SMYMongoDBAPI()
|
||||
if not server.mongo_api.connect():
|
||||
print("错误:服务器无法连接到MongoDB数据库")
|
||||
return False
|
||||
|
||||
print("服务器成功连接到MongoDB数据库")
|
||||
|
||||
# 测试加载游戏小提示配置
|
||||
config = server._load_game_tips_config()
|
||||
|
||||
if config:
|
||||
print("服务器成功加载游戏小提示配置:")
|
||||
print(f" 切换模式: {config.get('切换模式', 'N/A')}")
|
||||
print(f" 切换速度: {config.get('切换速度', 'N/A')}")
|
||||
tips = config.get('游戏小提示', [])
|
||||
print(f" 游戏小提示数量: {len(tips)}")
|
||||
print(" 前3条小提示:")
|
||||
for i, tip in enumerate(tips[:3]):
|
||||
print(f" {i+1}. {tip}")
|
||||
return True
|
||||
else:
|
||||
print("错误:服务器无法加载游戏小提示配置")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"测试过程中发生错误: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
# 断开数据库连接
|
||||
if 'server' in locals() and hasattr(server, 'mongo_api') and server.mongo_api:
|
||||
server.mongo_api.disconnect()
|
||||
print("服务器已断开MongoDB数据库连接")
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("开始测试游戏小提示配置功能...\n")
|
||||
|
||||
# 测试MongoDB API
|
||||
mongo_success = test_mongo_api()
|
||||
|
||||
# 测试游戏服务器
|
||||
server_success = test_game_server()
|
||||
|
||||
print("\n=== 测试结果 ===\n")
|
||||
print(f"MongoDB API测试: {'✓ 通过' if mongo_success else '✗ 失败'}")
|
||||
print(f"游戏服务器测试: {'✓ 通过' if server_success else '✗ 失败'}")
|
||||
|
||||
if mongo_success and server_success:
|
||||
print("\n🎉 所有测试通过!游戏小提示配置功能正常工作。")
|
||||
else:
|
||||
print("\n❌ 部分测试失败,请检查配置。")
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user