Gherkin格式转换工具Skill gherkin-convert

这个技能用于在软件开发中,将规格在Gherkin/BDD格式与其他格式(如EARS、Canonical等)之间进行转换,支持测试自动化和行为驱动开发(BDD)。关键词:Gherkin转换, BDD测试, 规格自动化, 软件开发工具, 测试脚本生成。

测试 0 次安装 0 次浏览 更新于 3/11/2026

名称: 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转换为内联标准

工作流程

  1. 加载源

    • 读取源文件
    • 检测当前格式
  2. 解析内容

    • 提取需求/场景
    • 识别结构
  3. 转换

    • 生成 spec-converter gherkin 代理
    • 转换到目标格式
    • 应用最佳实践
  4. 验证

    • 检查Gherkin语法
    • 验证完整性
  5. 输出

    • 写入.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 - 通用格式转换