名称: gherkin-convert 描述: “在Gherkin/BDD格式和其他格式之间转换规格。” 参数提示: “<源文件> [–to gherkin|canonical|ears|feature]” 允许工具: Read, Glob, Grep, Write, Edit, Skill, Task
Gherkin格式转换
在Gherkin/BDD格式和其他格式之间转换规格。
支持的转换
| 从 | 到 | 描述 |
|---|---|---|
| EARS | Gherkin | EARS需求转换为场景 |
| Gherkin | EARS | 场景转换为EARS需求 |
| Canonical | Gherkin | 完整规格转换为特性文件 |
| Gherkin | Canonical | 特性文件转换为完整规格 |
| Inline AC | Feature | 内联标准转换为.feature |
| Feature | Inline AC | .feature转换为内联标准 |
工作流程
-
加载源
- 读取源文件
- 检测当前格式
-
解析内容
- 提取需求/场景
- 识别结构
-
转换
- 生成
spec-converter gherkin代理 - 转换到目标格式
- 应用最佳实践
- 生成
-
验证
- 检查Gherkin语法
- 验证完整性
-
输出
- 写入.feature文件或规格
参数
$1- 源文件路径--to- 目标格式: gherkin, feature, canonical, ears, inline--output- 输出文件路径 (可选)
示例
# Canonical规格转换为特性文件
/spec-driven-development:gherkin-convert .specs/auth/spec.md --to feature
# 特性文件转换为canonical
/spec-driven-development:gherkin-convert tests/login.feature --to canonical
# EARS转换为Gherkin
/spec-driven-development:gherkin-convert ears-requirements.md --to gherkin
# 内联转换为特性文件
/spec-driven-development:gherkin-convert spec.md --to feature --output tests/spec.feature
转换示例
EARS → Gherkin
输入 (EARS):
## FR-1: 用户登录
WHEN 用户提交有效凭据,
系统 SHALL 验证用户
AND 重定向到仪表板。
### 接受标准
- AC-1.1: 有效凭据授予访问权限
- AC-1.2: 无效密码显示错误
输出 (Gherkin):
特性: 用户登录
作为用户
我想用我的凭据登录
以便我可以访问仪表板
# FR-1: 用户登录
场景: 使用有效凭据成功登录
假设存在注册用户
当用户提交有效凭据时
那么用户被验证
并且用户被重定向到仪表板
场景: 使用无效密码登录失败
假设存在注册用户
当用户提交无效密码时
那么显示错误消息
并且用户保持在登录页面
Canonical → 特性文件
输入 (Canonical):
# 规格: 购物车
## FR-1: 添加到购物车
WHEN 用户点击"添加到购物车",
系统 SHALL 将商品添加到用户的购物车。
### 接受标准
- [ ] AC-1.1: 给定产品页面,当点击添加时,那么商品在购物车中
- [ ] AC-1.2: 给定购物车中有商品,当再次添加时,那么数量增加
输出 (特性):
# 规格: 购物车
# 生成自: .specs/cart/spec.md
特性: 购物车
作为购物者
我想将商品添加到我的购物车
以便我可以购买它们
@FR-1
场景: 从产品页面添加商品到购物车
假设我正在查看产品页面
当我点击"添加到购物车"时
那么商品被添加到我的购物车
@FR-1
场景: 添加现有商品时增加数量
假设我的购物车中有商品
当我再次添加相同商品时
那么商品数量增加1
模式映射
| EARS模式 | Gherkin映射 |
|---|---|
| WHEN…SHALL | 包含When/Then的场景 |
| WHILE…SHALL | Given (连续状态) |
| IF…THEN…SHALL | 错误/边界案例场景 |
| WHERE…SHALL | @tag用于特性切换 |
| Ubiquitous | 背景或不变检查 |
相关命令
/spec-driven-development:gherkin-author- 创建Gherkin场景/spec-driven-development:ears-convert- EARS转换/spec-driven-development:convert- 通用格式转换