验收:覆盖率改用 -coverpkg 口径,新增关键页冒烟
This commit is contained in:
@@ -17,4 +17,36 @@
|
||||
./scripts/verify.sh # 全量,0 skip 才算过
|
||||
./scripts/verify.sh --fast # gofmt + vet + build
|
||||
./scripts/verify.sh --race --pkg ./internal/web/
|
||||
./scripts/verify.sh --cover # 覆盖率,-coverpkg 口径
|
||||
./scripts/verify.sh --smoke # 关键页冒烟(要站点在 8080 上跑着)
|
||||
./scripts/verify.sh --all # 全量 + 冒烟
|
||||
```
|
||||
|
||||
### `--cover` 为什么要 `-coverpkg`
|
||||
|
||||
`go test -cover` 只统计「测试文件所在的那个包」自己的执行。本项目大量代码是被**别的包**
|
||||
驱动的——`internal/rond` 的导出流程由 `internal/web` 的用例跑,`geo`/`gpx`/`notes`/`votes`
|
||||
由 `web`/`stats` 跑——按 `-cover` 量这些包会一律报 **0%**,看着像没测,其实全都在跑。
|
||||
`--cover` 用 `-coverpkg=./internal/...` 把跨包执行算进来。实测差别:
|
||||
|
||||
| 包 | `-cover`(假) | `-coverpkg`(真) |
|
||||
|---|---|---|
|
||||
| `internal/rond` | 38.8% | 79.1%(由 `internal/web` 的用例贡献) |
|
||||
|
||||
### 关键页冒烟:`../scripts/smoke.py`
|
||||
|
||||
Go 侧模板守卫只能证明「模板里有那段文字」,证明不了浏览器打开后看得到——白屏、JS 抛错、
|
||||
内容区块被压成 0 高,模板测试全都是绿的。冒烟按三种口径各走一遍:
|
||||
|
||||
1. **站长(浏览器)**:每页断言 HTTP 200、落点路径没跳走、内容区块在且尺寸非 0、零 JS 报错
|
||||
2. **访客(纯 HTTP)**:公开页 200;后台页必须 303 跳登录(绝不能 200)
|
||||
3. **访客(浏览器)抽检**:`/` 与地点详情,只在访客侧复现的 bug 藏在这里
|
||||
|
||||
```bash
|
||||
python scripts/smoke.py --only /map # 单页调试
|
||||
python scripts/smoke.py --shot-dir storage/.verify/smoke # 顺带存整屏截图
|
||||
```
|
||||
|
||||
依赖 `rond-web-verify` 技能里的 `site_cdp.py`(CDP 直连本机 Chrome);用 `ROND_CDP`
|
||||
指过去,默认取 `~/.workbuddy/skills/rond-web-verify/scripts/site_cdp.py`。
|
||||
站点得先在 `ROND_BASE`(默认 `http://localhost:8080`)上跑着,否则直接报错退出。
|
||||
|
||||
Reference in New Issue
Block a user