## 背景 默认 `pytest` 还有 3 个失败来自 `tests/test_kms.py`,全部是 `ModuleNotFoundError: No module named 'boto3'`。 ## 现象 / 根因 `test_kms.py` 测试 AWS KMS provider,需要 `[s3]` extra 提供的 `boto3`。CI 用的是 `[dev,server,clinical,mcp,s3,auth,observability]`(注意包含 `s3`),但贡献指南 / pyproject 没说清"想跑全量测试必须装哪些 extra"。我自己第一次就只装了 `server,clinical,chroma,auth,mcp,observability,dev,evaluation`,漏了 `s3`,于是白捡 3 个失败。 ## 影响 - 新人 / 贡献者按直觉装 extra,很容易漏掉 `s3`,然后对着 3 个红色 `boto3` 报错发懵。 - 和前面几个问题混在一起,会让"基线失败数"看起来更大、更难解读。 ## 建议 - 在 README 或 AGENTS.md 给一条"本地跑全量测试的最小 extra 组合"(例如 `pip install -e ".[dev,server,clinical,mcp,s3,auth,observability]"`),并明确**不要**带 `[evaluation]`(见 #4)。 - 更好的做法:在 pyproject 加一个聚合 extra,比如 `[testing]`,把跑全量测试需要的依赖一次性收口,避免大家各装各的。
背景
默认
pytest还有 3 个失败来自tests/test_kms.py,全部是ModuleNotFoundError: No module named 'boto3'。现象 / 根因
test_kms.py测试 AWS KMS provider,需要[s3]extra 提供的boto3。CI 用的是[dev,server,clinical,mcp,s3,auth,observability](注意包含s3),但贡献指南 / pyproject 没说清"想跑全量测试必须装哪些 extra"。我自己第一次就只装了server,clinical,chroma,auth,mcp,observability,dev,evaluation,漏了s3,于是白捡 3 个失败。影响
s3,然后对着 3 个红色boto3报错发懵。建议
pip install -e ".[dev,server,clinical,mcp,s3,auth,observability]"),并明确不要带[evaluation](见 chore(deps): bump docker/login-action from 3 to 4 #4)。[testing],把跑全量测试需要的依赖一次性收口,避免大家各装各的。