71 lines
2.8 KiB
Markdown
71 lines
2.8 KiB
Markdown
# 🧪 Playbook 测试套件
|
||
|
||
本目录包含 Playbook 项目的可执行行为测试。
|
||
|
||
## 📋 目录结构
|
||
|
||
```txt
|
||
test/
|
||
├── README.md # 本文件:测试文档
|
||
├── test_commit_message_policy.py # 提交信息校验器和 CI 委托行为
|
||
├── test_gitea_fetch_ci_logs.py # Gitea CI 日志采集行为
|
||
├── test_main_loop_cli.py # ticket 调度、隔离、证据与集成测试
|
||
├── test_main_loop_scheduler.py # 全局调度器和依赖图行为
|
||
├── test_playbook.py # snapshot/subtree 参数化完整部署测试
|
||
├── test_thirdparty_skills_pipeline.py # thirdparty skills 流水线配置与同步行为
|
||
├── test_tsl_api_framework.py # TSL API 索引和 Framework Profile 行为
|
||
├── test_tsl_playbook_sync.py # TSL Playbook 构建与同步行为
|
||
└── integration/ # 文档完整性检查
|
||
└── check_doc_links.py # 本地 Markdown 链接目标检查
|
||
```
|
||
|
||
## 🚀 快速开始
|
||
|
||
```bash
|
||
# 进入 playbook 根目录
|
||
cd /path/to/playbook
|
||
|
||
# 运行 Python 测试(test/ 下的 test_*.py)
|
||
python -X utf8 -B -m unittest discover -s test -p "test_*.py" -v
|
||
|
||
# 文档链接检查
|
||
python test/integration/check_doc_links.py
|
||
```
|
||
|
||
## 🧭 CI 自动化测试
|
||
|
||
测试套件通过 Gitea Actions 自动运行(见 `.gitea/workflows/checks.yml` 的
|
||
`🔎 规范检查 + 全量测试` job):
|
||
|
||
- **触发方式**:`workflow_run`——「🧰 准备环境」(`prepare.yml`)完成后触发。
|
||
Prepare 监听 `push:main`、`pull_request` 与 `workflow_dispatch`;推送到 main、
|
||
对 main 开 PR 或手动运行 Prepare 都会经 Prepare 传导到测试。每日 `schedule`
|
||
只属于 thirdparty updater,不会触发这套提交验证。
|
||
- **运行平台**:standard-ubuntu-22
|
||
- **注**:同一 job 先校验 commit message,再运行全量测试。
|
||
|
||
## 📚 测试详解
|
||
|
||
### 1. Playbook 部署测试 (`test_playbook.py`)
|
||
|
||
使用同一个完整 `playbook.toml` 参数化验证:
|
||
|
||
- snapshot 与 subtree 两种安装模式
|
||
- rules、memory bank、prompts、standards 和 skills 同步
|
||
- 重复执行的幂等性与自定义文件保留
|
||
|
||
### 2. 主循环测试 (`test_main_loop_cli.py`)
|
||
|
||
使用临时 Git 仓库验证 ticket 队列、串行与 worktree 隔离、并发 claim、heartbeat/reclaim、
|
||
验证与 review 证据绑定,以及 ticket/feature 两级集成。
|
||
|
||
### 3. TSL 和同步行为测试
|
||
|
||
- `test_tsl_api_framework.py`:验证 API 索引、class 查询和 Framework Profile 行为
|
||
- `test_tsl_playbook_sync.py`:验证 TSL Playbook 构建和同步文件边界
|
||
- `test_thirdparty_skills_pipeline.py`:验证 thirdparty manifest、workflow 和同步产物
|
||
|
||
### 4. 文档链接检查 (`integration/`)
|
||
|
||
扫描仓库中的 Markdown 文件,确保本地文档引用的目标路径有效。
|