易数编程之梅花2弄

前一篇:易数编程之梅花1弄

上次只是跑了一个空的用例,继续,首先介绍一下Cucumber的运行原理。

一、Cucumber运行原理

易数编程之梅花2弄_第1张图片
Cucumber原理

业务层面

业务层面采用自然语言描述(Gherkin语法),我们这里采用的是中文,方便沟通交流。

业务层面代表了场景&用例,每个场景是有多个测试步骤组成的:假设、当、那么等关键词后面就是一个测试步骤。

易数编程之梅花2弄_第2张图片
业务层面

技术层面

业务层面和技术层面的连接是通过正则表达式实现的,关键词假设、当、那么没什么作用,起关键作用的是关键词后面的文字。

易数编程之梅花2弄_第3张图片
技术层面

业务层面的抽象也是技术层面的抽象,可以把技术层面的测试步骤实现理解为一个个积木,积木的组合和排序(场景)是在业务层面实现的。这样有助于测试步骤的抽象,减少代码量。

易数编程之梅花2弄_第4张图片
积木

技术层面可以是不同的语言,例如:我们现在使用的Java。Cucumber支持不同的语言:

易数编程之梅花2弄_第5张图片

二、第一个测试步骤

第一个测试步骤是读入输入参数:

测试步骤1:年月日

默认生成的测试步骤是这样的,输入参数是DataTable:

易数编程之梅花2弄_第6张图片
DataTable

为了简化编码,这里采用了一种比较简单的方式:List,需要定义好数据结构

易数编程之梅花2弄_第7张图片
List结构体

输入参数结构定义,年和时都是采用的地支方式,各个字段都为public,并且名字跟feature文件里面的保持一致

易数编程之梅花2弄_第8张图片
输入参数

地支定义:

易数编程之梅花2弄_第9张图片
十二地支

执行结果,是不是比较简单:

易数编程之梅花2弄_第10张图片
参数值

源码:https://github.com/Git008/yishu

参考:

[易经杂记]梅花易数基本要素

Cucumber步骤中传Data Table

你可能感兴趣的:(易数编程之梅花2弄)