# 测试说明 ## 测试文件 ### MySQLDatabase 测试 - `test_database.py` - MySQLDatabase 类测试 - 测试数据库配置 - 测试创建连接对象 - 测试连接对象属性和方法 - 测试关闭连接 ### seed_is_exist 测试 - `test_seed_is_exist.py` - seed_is_exist 功能真实数据库测试 - 首次运行自动创建 `LookingWeb` 库和 `seeds_info` 表(幂等) - 测试种子不存在 → False - 真实插入种子后 → True - 多个种子均识别为存在 - 删除后再查询 → False - 数据库不可达 → False(不抛异常) - 测试数据测后自动清理 ### qBittorrent 下载器测试 - `test_qbittorrent_downloader.py` - qBittorrent 下载器单元测试 - 测试初始化(带/不带认证) - 测试添加下载任务(成功/失败/异常) - 测试种子信息下载 - 测试带选项的下载(保存路径、分类、标签) - 测试连接测试 - 测试获取下载列表 - 注意:当前 11/12 用例因测试 mock 目标与实现不一致(`QbittorrentDownloader.session` 是实例属性而非模块属性)而失败,属既有问题,待修复。 ## 运行测试 ```bash # 安装 pytest uv pip install pytest # 运行所有测试 uv run python -m pytest tests/ -v # 运行 MySQLDatabase 测试 uv run python -m pytest tests/test_database.py -v # 运行 qBittorrent 测试 uv run python -m pytest tests/test_qbittorrent_downloader.py -v ``` ## 环境要求 - Python 3.7+ - requests - loguru - beautifulsoup4 - pymysql - pytest ## 测试覆盖 - MySQLDatabase: 4 个测试用例 - seed_is_exist: 5 个测试用例(真实数据库) - qBittorrentDownloader: 12 个测试用例(11 个待修复) - 总计: 25 个测试用例