47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
"""测试数据库记录功能"""
|
|
from data_manager import DataManager
|
|
|
|
print("=" * 60)
|
|
print("测试SQLite数据库记录功能")
|
|
print("=" * 60)
|
|
|
|
# 创建数据管理器
|
|
dm = DataManager()
|
|
print(f"\n当前存储方式: {'SQLite数据库' if dm.use_database else 'JSON文件'}")
|
|
|
|
# 测试1: 添加URL
|
|
print("\n[测试1] 添加新URL")
|
|
test_url = "https://health.baidu.com/m/detail/test_20260113"
|
|
result = dm.add_url(test_url)
|
|
print(f"添加结果: {'成功' if result else '失败(可能已存在)'}")
|
|
|
|
# 测试2: 记录点击
|
|
print("\n[测试2] 记录点击(无回复)")
|
|
dm.record_click(test_url, has_reply=False)
|
|
|
|
# 测试3: 记录点击(有回复)
|
|
print("\n[测试3] 记录点击(有回复)")
|
|
dm.record_click(test_url, has_reply=True)
|
|
|
|
# 测试4: 查询所有站点
|
|
print("\n[测试4] 查询所有站点")
|
|
sites = dm.get_all_urls()
|
|
print(f"总站点数: {len(sites)}")
|
|
for idx, site in enumerate(sites[:5], 1): # 只显示前5个
|
|
site_url = site.get('site_url', site.get('url'))
|
|
click_count = site.get('click_count', 0)
|
|
reply_count = site.get('reply_count', 0)
|
|
status = site.get('status', 'N/A')
|
|
print(f" {idx}. {site_url}")
|
|
print(f" 状态: {status}, 点击: {click_count}次, 回复: {reply_count}次")
|
|
|
|
# 测试5: 查询统计数据
|
|
print("\n[测试5] 统计数据")
|
|
stats = dm.get_statistics()
|
|
for key, value in stats.items():
|
|
print(f" {key}: {value}")
|
|
|
|
print("\n" + "=" * 60)
|
|
print("测试完成!")
|
|
print("=" * 60)
|