cucumber之Gherkin入门

cucumber之Gherkin入门什么 CherkinGherk Cucumber 解释器可以理解的语言 这是一个商业可读性 领域特定语言 描述软件的行为而不需要关心这个行为的如何实现的 Gherkin 是一种自然语言 使用一组特殊的关键字来为可执行规范赋予结构和意义 在我的理解里 Gherkin 是 Cucumber 作为 BDD 行为驱动开发 的自动化框架的核心 因为 Gherkin 的描述基本接近于 UserStory 通过 Gherkin 文档 可以让业务人员 开发人员 测试人员或者其他方的人员通过同一份文档对需求的结果理解达成一致 确保产品

什么Cherkin

Gherkin的语法和关键字

关键字

主要关键字

  • Feature //特性,每个Gherkin的文件都必须使用Feature开头
  • Rule(as of Gherkin 6)
  • -Example (or Scenario)
  • Scenario //场景
  • Given //给定条件
  • When //当…时候
  • Then //结果
  • And //然后
  • But //但是
  • Background //背景
  • Scenario Outline (or Scenario Template) //与Examples配合使用
  • Examples //例子

次要的关键字:

  • “”” (Doc Strings)
  • | (Data Tables)
  • @(Tags)
  • #(Comments)

语法要求总结

不一定全,自己的学习过程总结

  1. 不是空行的每一行都必须以Cherkin的关键字开头,然后是您喜欢的任何文本。feature后面可以有多行的描述文本,不做限制
  2. 可以使用空格或制表符进行缩进。推荐的缩进级别是两个空格。
  3. 注释行在文件的任何地方都是允许的。它们以零或多个空格开始,然后是一个散列符号(#)和一些文本。注释必须从新的一行开始。
  4. 一个.feature文件只能有一个feature关键字
  5. 我用的Gherkin 5,支持Rule关键字,但是必须有Scenario关键字。语法仅使用Rule和Example 搭配不支持。按照文档Gherkin 6应该是支持的

例子

Feature: Highlander This is for test Rule: There can be only One Scenario: Only One -- More than one alive Given there are 3 ninjas And there are more than one ninja alive When 2 ninjas meet, they will fight Then one ninja dies And there is one ninja less alive 
Feature: Is it Friday yet? EveryBody wants to know when it's Friday Scenario Outline: Sunday isn't Friday Given today is " 
   
     " 
    * I ask whether it's Friday yet * I should be told " 
   
     " 
    Examples: | day | answer | | Friday | TGIF | | Sunday | Nope | | anything else! | Nope | 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225591.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:58
下一篇 2026年3月17日 上午8:58


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号