cucumber是BDD (Behavior-driven development,行为驱动开发)的一个自动化测试的副产品。它使用自然语言来描述测试,使得非程序员可以理解他们。Gherkin是这种自然语言测试的简单语法,而Cucumber是可以执行它们的工具。
cucumber本质上是使用根据正则表达式匹配自然语言,然后依次执行对应的方法,以达到测试的目的。
Gherkin是自然语言测试的简单语法,一个完整的测试由多个step组成,step是最小单元,多个step组成一个scenario,多个scenario组成一个Feature,Feature即是一组相关的测试case。
e.g.请看如下例子
Feature是所有测试的开头,后面跟一段描述文字,表明这个测试文件是做什么的。
Description是扩展性的文字描述,可以跟在Feature、Example、Background、Scenario、Scenario Outline下面。
Example和Scenario是一对同义词,是具体的测试case,包含了多少的steps,一般情况下,都是由Given(给定一个初始条件),When(发生了什么),Then(结果是什么)组成的。
step是cucumber的最小单元,每个step是由Given, When, Then, And, 或者But开头的。如果关键词后面的内容是完全一样的话,那么cucumber会认为这两句话是重复的,哪怕前面的关键词不一样,如
Given
Given一般用于在Scenario中描述系统的初始状态。它的目的是使系统在使用前处于一个已只的状态,要避免在Given中谈论交互上的事情。<