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测试完成!')