Gherkin,Cucumber解释器可以理解的语言。这是一个商业可读性,领域特定语言,描述软件的行为而不需要关心这个行为的如何实现的。 Gherkin 是一种自然语言,使用一组特殊的关键字来为可执行规范赋予结构和意义。 在我的理解里,Gherkin是Cucumber作为BDD(行为驱动开发)的自动化框架的核心,因为Gherkin的描述基本接近于User Story,通过Gherkin文档,可以让业务人员、开发人员、测试人员或者其他方的人员通过同一份文档对需求的结果理解达成一致。确保产品的特性能够被正确设计和实现出来
“”" (Doc Strings)
| (Data Tables)
@(Tags)
#(Comments)
各个关键字的意义和使用格式可以参考 Gherkin(小黄瓜) 参考文档 该文档是对cucumber使用Gherkin语法说明的官方内容做了翻译官方链接
不一定全,自己的学习过程总结
不是空行的每一行都必须以Cherkin的关键字开头,然后是您喜欢的任何文本。feature后面可以有多行的描述文本,不做限制可以使用空格或制表符进行缩进。推荐的缩进级别是两个空格。注释行在文件的任何地方都是允许的。它们以零或多个空格开始,然后是一个散列符号(#)和一些文本。注释必须从新的一行开始。一个.feature文件只能有一个feature关键字我用的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 "<day>" * I ask whether it's Friday yet * I should be told "<answer>" Examples: | day | answer | | Friday | TGIF | | Sunday | Nope | | anything else! | Nope |