cucumber 入门笔记

参考文章:

https://www.jianshu.com/p/3857f2c3a8d4

Feature: Is it friday yet?
  this is a descriptions
  Everybody want to know when it's Friday

  Scenario: Sunday isn't Friday
    Given today is Sunday
    When I ask whether it's Friday yet
    Then I should be told "Nope"

  Scenario: Friday is Friday
    Given today is Friday
    When I ask whether it's Friday yet
    Then I should be told "TGIF"

 

cucumber官网链接,里面也有关于BDD的信息。
cucumber本质上是使用根据正则表达式匹配自然语言,然后依次执行对应的方法,以达到测试的目的。

Cucumber是一个解释程序,就像ruby命令执行解释 .rb文件里的Ruby代码一样,Cucumber用来执行解释 .feature文件里的Gehrkin代码。

Gherkin

Gherkin是自然语言测试的简单语法。
一个完整的测试是由多个step组成的,step即最小单元,如何复用step是非常关键的问题。多个step组成一个Scenario,即一个完整的测试case。多个Scenario组成一个Feature,即一组相关的测试case。

关键字

  • Feature
  • Example(or Scenario)
  • Given,When,Then,And,But(steps)
  • Background
  • Scenario Outline (or Scenario Template)
  • Examples (or Scenarios)

 

一个简单的例子

 

测试报告

cucumber可以通过添加插件生成json或者html的报告。使用方法很简单,在@CucumberOptions的plugin里添加"html:target/cucumber"或者"json:target/cucumber.json",cucumber运行结果后会在对应的目录下生成html报告或者json文件。路径可自行修改

@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"pretty","html:target/cucumber","json:target/cucumber.json"}, features = "classpath:cucumber/features")
public class CucumberTest {
}


cucumber 入门笔记_第1张图片

 

 

你可能感兴趣的:(入门系列)