跳转到内容

测试策略与 CI/CD

测试策略与 CI/CD

学习目标

了解 Nanobot 的测试策略与 CI/CD 流程。

项目实践

测试框架

  • 测试运行器pytestasyncio_mode = "auto"
  • 测试目录结构tests/ 镜像 nanobot/ 包结构
  • 运行单测pytest tests/test_openai_api.py::test_function -v

测试覆盖范围:

  • Provider 单元测试(OpenAI、Anthropic、兼容提供商等)
  • 工具测试(文件系统、Shell、Web 等)
  • 频道测试(Telegram、Discord、飞书等)
  • 配置解析测试
  • 安全沙箱测试
  • Memory 和 Dream 测试

Lint 工具

  • linterruff check nanobot/
  • 规则:E, F, I, N, W(E501 忽略,允许长行)
  • 行长度:100

CI/CD

通过 GitHub Actions 实现:

  • PR 检查:lint + 测试
  • 发布:PyPI 发布(通过 GitHub Actions)
  • Docker 镜像:自动构建与推送

设计取舍

为什么测试镜像包结构

原因:测试目录结构与源码一致,便于定位测试对应的实现代码,也便于按模块运行特定测试。

参考来源