BodyBalanceEvaluation/backend/test_get_patients_simple.py

60 lines
1.8 KiB
Python
Raw Normal View History

2025-07-31 17:23:05 +08:00
from database import DatabaseManager
import os
# 使用backend/data目录下的数据库路径
db_path = os.path.join(os.path.dirname(__file__), 'data', 'body_balance.db')
db = DatabaseManager(db_path)
db.init_database()
print('测试get_patients方法:')
# 测试1: 无参数调用
print('\n1. 无参数调用 get_patients():')
try:
patients = db.get_patients()
print(f' 结果: {len(patients)}条记录')
for i, p in enumerate(patients[:3]): # 只显示前3条
print(f' {i+1}. {p["name"]} ({p["gender"]}, {p["age"]}岁)')
except Exception as e:
print(f' 错误: {e}')
# 测试2: 带分页参数
print('\n2. 带分页参数 get_patients(page=1, size=5):')
try:
patients = db.get_patients(page=1, size=5)
print(f' 结果: {len(patients)}条记录')
for i, p in enumerate(patients):
print(f' {i+1}. {p["name"]} ({p["gender"]}, {p["age"]}岁)')
except Exception as e:
print(f' 错误: {e}')
# 测试3: 带关键字搜索
print('\n3. 带关键字搜索 get_patients(keyword=""):')
try:
patients = db.get_patients(keyword='')
print(f' 结果: {len(patients)}条记录')
for i, p in enumerate(patients):
print(f' {i+1}. {p["name"]} ({p["gender"]}, {p["age"]}岁)')
except Exception as e:
print(f' 错误: {e}')
# 测试4: 模拟app.py中的调用方式
print('\n4. 模拟app.py中的调用方式:')
try:
page = 1
size = 10
keyword = ''
patients = db.get_patients(page, size, keyword)
total = db.get_patients_count(keyword)
print(f' 患者列表: {len(patients)}条记录')
print(f' 总数: {total}')
print(f' 页码: {page}, 每页: {size}')
for i, p in enumerate(patients[:3]): # 只显示前3条
print(f' {i+1}. {p["name"]} ({p["gender"]}, {p["age"]}岁)')
except Exception as e:
print(f' 错误: {e}')
print('\n测试完成!')