60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
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测试完成!') |