补声明测试依赖 aiosqlite(合并袁聪线后暴露)

合并后 tests/unit/worker/test_offsite_mail_worker.py 的 6 个用例直接
ModuleNotFoundError: No module named 'aiosqlite' —— 它们走 SQLAlchemy 的 SQLite
内存库,而 aiosqlite 既不在 requirements.txt、也不在 pyproject 的 dev 依赖里
(dev 原先只有 pytest / pytest-asyncio / ruff / mypy)。

后果不是"本机缺个包":任何人 clone 下来、按文档装完依赖、跑测试,这 6 个用例必然
失败,而且报错指向 SQLAlchemy 内部(aiosqlite.py:480),看不出是缺依赖。
已加入 dev 依赖并注明用途。

同时记录一个本机环境问题(未改代码):pytest 的默认 basetemp
%TEMP%\pytest-of-Windows 被权限更高的会话占住,make_numbered_dir 扫不动 ⇒ 18 个
setup ERROR。NL_develop 的 conftest 修复(tmp_path 落到仓库内 .workdir/)能根治,
等合并;本次用重定向 $env:TEMP 临时绕开(--basetemp 无效,因为 pytest 仍会扫默认 root)。
另需注意 .workdir 目前不在 .gitignore 里,那套修复合并进来前要补上。

合并后现状:unit+contract 810 passed / integration 76 passed / ruff 干净 /
表数 68(alembic 已 upgrade 到位)/ mypy 3 个错(全在袁聪的 offsite_fund_service.py,
属真实类型问题,未擅自改别人的业务代码)。
This commit is contained in:
2026-09-11 20:08:13 +08:00
parent 9957ddc191
commit f60915b70b
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -22,3 +22,7 @@ data/offsite_mail/
logs/
# 娴忚�鍣ㄦ嫋鎷芥枃妗g殑钀界偣锛氬彧鍚� dsh-dropdoc 鐢熸垚鐨勭洰褰曟竻鍗曪紝涓嶆槸椤圭洰浜х墿
.dsh-drop/
# pytest 临时目录(basetemp 落点;NL_develop 的 conftest 修复也用它)
.workdir/
+4
View File
@@ -42,6 +42,10 @@ dev = [
"pytest-asyncio>=0.25,<1",
"ruff>=0.9,<1",
"mypy>=1.14,<2",
# 测试用:场外邮件 Worker 等用例走 SQLAlchemy 的 SQLite 内存库。
# 原先没声明 —— 别人的环境装完依赖跑测试,这 6 个用例会直接
# ModuleNotFoundError: No module named 'aiosqlite'。
"aiosqlite>=0.20,<1",
]
[tool.setuptools.packages.find]