Files
cpa-plugin/docs/dev.md
T
2026-08-19 16:44:23 +08:00

1.6 KiB

开发与测试

克隆后先初始化锁定版本的 CLIProxyAPI 宿主:

git submodule update --init --recursive

需要构建本项目使用的 CPA 时,再按 ../patch/README.md 的顺序应用三个宿主补丁。submodule 本身始终锁定官方基线,补丁来源以根仓库 patch/ 为准。

升级 submodule、构建宿主、本地替换、验收和远端发布使用 operations.md。该文档同时记录已确认的上游测试失败及免复测条件。

管理台界面开发使用 go run ./cmd/webdemo -input fake -listen 127.0.0.1:8320。该命令用独立 Fake 输入端启动正式页面资源,不依赖本地 CPA 和 billing 数据库。

开发按依赖从少到多推进:先确定数据和规则,再实现存储与服务,最后接入外部协议和界面。核心逻辑不依赖框架类型,协议转换集中在边界层。涉及持久化时,先定义迁移和历史数据语义

开发的核心在于每一步的可预见性与可测试性

开始前确认运行环境、配置加载方式和启动入口。开发与测试使用相同环境,不临时更换 Shell、依赖来源或配置路径。启动后先检查进程和健康状态,再验证功能

测试分三层:

  • 单元测试验证规则和边界值
  • 存储测试验证持久化、迁移和并发
  • 集成测试验证完整调用链

每项功能同时覆盖成功、失败、取消、重试和乱序

集成测试应从公开入口产生数据,并使用日志、数据库或独立系统交叉核对,直接修改数据库只能用于迁移测试