67 lines
2.1 KiB
Python
67 lines
2.1 KiB
Python
|
|
import asyncio
|
|||
|
|
import logging
|
|||
|
|
from DbKit.Db import Db
|
|||
|
|
|
|||
|
|
# 配置日志
|
|||
|
|
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|||
|
|
logger = logging.getLogger(__name__)
|
|||
|
|
|
|||
|
|
"""测试查询t_teacher_app表"""
|
|||
|
|
db = Db()
|
|||
|
|
|
|||
|
|
async def test_find_teacher_app():
|
|||
|
|
try:
|
|||
|
|
# 执行查询
|
|||
|
|
sql = "select * from t_teacher_app where app_name=:app_name"
|
|||
|
|
params = {"app_name": "半角模型"}
|
|||
|
|
logger.info(f"执行查询: {sql}")
|
|||
|
|
result = await db.find(sql, params)
|
|||
|
|
|
|||
|
|
logger.info(f"查询结果数量: {len(result)}")
|
|||
|
|
# 打印部分结果(前3条)
|
|||
|
|
for i, row in enumerate(result[:3]):
|
|||
|
|
logger.info(f"第{i + 1}条记录: {row}")
|
|||
|
|
|
|||
|
|
return result
|
|||
|
|
except Exception as e:
|
|||
|
|
logger.error(f"查询失败: {str(e)}", exc_info=True)
|
|||
|
|
raise
|
|||
|
|
|
|||
|
|
|
|||
|
|
async def test_sql_template():
|
|||
|
|
try:
|
|||
|
|
# 初始化数据库连接
|
|||
|
|
await db.init_db()
|
|||
|
|
|
|||
|
|
# 测试获取App.getAppList模板
|
|||
|
|
logger.info("尝试获取App.getAppList模板...")
|
|||
|
|
sql_content = await db.get_sql("App.getAppList")
|
|||
|
|
logger.info(f"成功获取App.getAppList模板,内容长度: {len(sql_content)} 字符")
|
|||
|
|
logger.info(f"模板内容前100字符: {sql_content[:100]}")
|
|||
|
|
|
|||
|
|
# 测试分页查询
|
|||
|
|
logger.info("测试分页查询...")
|
|||
|
|
result = await db.paginate("App.getAppList", page_number=1, page_size=5)
|
|||
|
|
logger.info(f"分页查询结果: {len(result.get('list', []))} 条记录")
|
|||
|
|
|
|||
|
|
except Exception as e:
|
|||
|
|
logger.error(f"SQL模板测试失败: {str(e)}", exc_info=True)
|
|||
|
|
raise
|
|||
|
|
|
|||
|
|
async def run_all_tests():
|
|||
|
|
"""运行所有测试"""
|
|||
|
|
logger.info("开始运行所有测试...")
|
|||
|
|
|
|||
|
|
# 测试SQL模板自动加载
|
|||
|
|
await test_sql_template()
|
|||
|
|
|
|||
|
|
# 测试查询功能
|
|||
|
|
await test_find_teacher_app()
|
|||
|
|
|
|||
|
|
logger.info("所有测试完成!")
|
|||
|
|
|
|||
|
|
|
|||
|
|
if __name__ == '__main__':
|
|||
|
|
# 运行异步测试
|
|||
|
|
asyncio.run(run_all_tests())
|