- Cucumber介绍
Cucumber是程序员用于测试其他软件的开源软件工具 [1] 。它运行以行为驱动开发(BDD)风格编写的自动验收测试。BDD方法的核心是其简单的语言解析器,称为Gherkin [2] 。它允许用客户可以理解的逻辑语言来指定预期的软件行为。因此,Cucumber允许执行用面向业务的文本编写的功能文档。
Cucumber用Gherkin语法 [3] ,它是一种用自然语言来定义测试用例。它被设计成非技术人员都可以读懂的,并且共同描述与软件系统有关的用例。Gherkin的语法背后的目的是促进整个开发团队(包括业务分析师和经理)的行为驱动开发实践。它试图从企业管理的需求定义的初始阶段开始,并在开发生命周期的其他阶段执行稳固,明确的需求
Cucumber-JVM是cucumber在java平台上的使用,结合junit进行java项目测试。
- 组织架构
一个简单基于maven项目管理的cucumber架构:
测试入口AppTest.java
测试程序入口,通过@CucumberOptions(plugin={"pretty"}, features={"src/test/features"},glue = {"steps"}) 指定feature文件和step文件的存放位置。Plugin是指运行结果生成 html 文件和 json 文件。
测试用例Todo.feature
测试用例的存放地方。例子中的内容为测试数据。
自动化脚本TodoStep.java
将feature中的自然语言转换为java自动化测试脚本
开发代码TodoList.java
正式项目中开发人员编写的项目代码,测试人员在step自动化脚本中进行调用和测试。
Pom文件
Maven管理项目的文件,在dependencies中声明需要的jar资源。
所需jar包资源
- 项目构建过程
New—project—maven—maven project