测试策略与 CI/CD
测试策略与 CI/CD
学习目标
了解 Nanobot 的测试策略与 CI/CD 流程。
项目实践
测试框架
- 测试运行器:
pytest,asyncio_mode = "auto" - 测试目录结构:
tests/镜像nanobot/包结构 - 运行单测:
pytest tests/test_openai_api.py::test_function -v
测试覆盖范围:
- Provider 单元测试(OpenAI、Anthropic、兼容提供商等)
- 工具测试(文件系统、Shell、Web 等)
- 频道测试(Telegram、Discord、飞书等)
- 配置解析测试
- 安全沙箱测试
- Memory 和 Dream 测试
Lint 工具
- linter:
ruff check nanobot/ - 规则:E, F, I, N, W(E501 忽略,允许长行)
- 行长度:100
CI/CD
通过 GitHub Actions 实现:
- PR 检查:lint + 测试
- 发布:PyPI 发布(通过 GitHub Actions)
- Docker 镜像:自动构建与推送
设计取舍
为什么测试镜像包结构
原因:测试目录结构与源码一致,便于定位测试对应的实现代码,也便于按模块运行特定测试。