name: 测试套件设置 description: 为任何项目类型设置测试验证命令。在配置测试运行器、为新项目设置验证命令或启用闭环代理工作流时使用。 allowed-tools: 读取, Bash
测试套件设置技能
帮助为任何项目设置测试验证以启用闭环工作流。
何时使用
- 为新项目设置验证命令
- 发现现有测试基础设施
- 为CI/CD或代理工作流创建验证堆栈
- 标准化代码库中的测试命令
设置工作流程
步骤 1:检测项目类型
查找配置文件以识别技术栈:
| 文件 | 项目类型 |
|---|---|
package.json |
Node.js / TypeScript |
pyproject.toml |
Python(现代) |
requirements.txt |
Python(pip) |
go.mod |
Go |
Cargo.toml |
Rust |
pom.xml |
Java(Maven) |
build.gradle |
Java(Gradle) |
步骤 2:识别现有测试基础设施
检查测试目录和配置:
# 常见测试位置
ls -la tests/ test/ __tests__/ spec/
# 检查测试配置文件
ls -la pytest.ini jest.config.* vitest.config.* .mocharc.*
步骤 3:提取可用命令
对于Node.js项目:
# 显示可用的npm脚本
cat package.json | grep -A 30 '"scripts"'
对于Python项目:
# 检查pyproject.toml中的工具
cat pyproject.toml | grep -A 10 '\[tool\.'
步骤 4:生成验证命令
创建适合项目的验证堆栈:
模板:
## 验证命令
执行每个命令以100%信心验证
- `[lint command]` - 代码风格和语法
- `[type check command]` - 类型安全(如果适用)
- `[test command]` - 行为正确性
- `[build command]` - 生产就绪性
按技术栈快速参考
Python (uv + pytest)
## 验证命令
- `uv run ruff check .` - 代码检查
- `uv run mypy .` - 类型检查
- `uv run pytest -v` - 测试
Python (pip + pytest)
## 验证命令
- `flake8 .` or `ruff check .` - 代码检查
- `mypy .` - 类型检查
- `pytest -v` - 测试
TypeScript/JavaScript (npm)
## 验证命令
- `npm run lint` - ESLint
- `npx tsc --noEmit` - 类型检查
- `npm test` - 测试
- `npm run build` - 构建验证
TypeScript (Bun)
## 验证命令
- `bun run lint` - 代码检查
- `bun tsc --noEmit` - 类型检查
- `bun test` - 测试
- `bun run build` - 构建验证
Go
## 验证命令
- `go fmt ./...` - 格式化
- `go vet ./...` - 静态分析
- `go test ./... -v` - 测试
- `go build ./...` - 构建验证
Rust
## 验证命令
- `cargo fmt --check` - 格式化
- `cargo clippy` - 代码检查
- `cargo test` - 测试
- `cargo build --release` - 构建验证
回退:无测试基础设施
如果不存在测试基础设施,推荐设置:
Python
# 安装pytest
uv add --dev pytest pytest-cov
# 创建测试目录
mkdir tests
touch tests/__init__.py
touch tests/test_example.py
TypeScript
# 安装vitest(现代、快速)
npm install -D vitest
# 或Jest
npm install -D jest @types/jest ts-jest
# 创建测试目录
mkdir __tests__
验证
设置后,验证验证堆栈有效:
# 运行每个命令并确认成功
[lint command] # 应退出0
[type command] # 应退出0
[test command] # 应退出0
[build command] # 应退出0
记忆参考
- @validation-commands.md - 完整验证模式
- @test-leverage-point.md - 为什么测试重要
- @closed-loop-anatomy.md - 在反馈循环中使用测试
版本历史
- v1.0.0 (2025-12-26): 初始发布
最后更新
日期: 2025-12-26 模型: claude-opus-4-5-20251101