Files
012-kaopeilian/backend/test_exam_records_api.py
111 998211c483 feat: 初始化考培练系统项目
- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
2026-01-24 19:33:28 +08:00

53 lines
1.7 KiB
Python

"""
测试考试记录API
"""
import asyncio
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import sessionmaker
from app.services.exam_service import ExamService
from app.core.config import settings
async def test_exam_records():
"""测试获取考试记录"""
# 创建数据库连接
engine = create_async_engine(
settings.SQLALCHEMY_DATABASE_URI,
echo=True,
future=True
)
async_session = sessionmaker(
engine, class_=AsyncSession, expire_on_commit=False
)
async with async_session() as db:
# 测试user_id=5的考试记录
print("\n========== 测试user_id=5的考试记录 ==========")
records = await ExamService.get_exam_records(
db=db,
user_id=5,
page=1,
size=10
)
print(f"\n总记录数: {records['total']}")
print(f"当前页: {records['page']}")
print(f"每页数量: {records['size']}")
print(f"总页数: {records['pages']}")
print(f"\n记录列表:")
for item in records['items']:
print(f"\nID: {item['id']}")
print(f" 考试名称: {item['exam_name']}")
print(f" 课程名称: {item['course_name']}")
print(f" 得分: {item['score']}")
print(f" 正确率: {item['accuracy']}%")
print(f" 正确数: {item['correct_count']}")
print(f" 错题数: {item['wrong_count']}")
print(f" 用时: {item['duration_seconds']}")
print(f" 分题型统计: {len(item['question_type_stats'])}种题型")
if __name__ == "__main__":
asyncio.run(test_exam_records())