| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Cucumber简介 -> 正文阅读 |
|
[开发测试]Cucumber简介 |
????????Cucumber 是一个能够理解用普通语言描述的测试用例的支持行为驱动开发(BDD)的开源自动化测试工具,用Ruby、JavaScript、Java和.Net等多种开发语言。Cucumber是程序员用于测试其他软件的开源软件工具。它运行以行为驱动开发(BDD)风格编写的自动验收测试。 BDD????????BDD:Behavior-driven development,行为驱动开发。BDD是一种敏捷软件开发的技术。行为驱动开发(BDD)是测试驱动开发的延伸,开发使用简单的,特定于领域的脚本语言。 Gherkin????????BDD方法的核心是其简单的语言解析器,称为Gherkin。它允许用客户可以理解的逻辑语言来指定预期的软件行为。因此,Cucumber允许执行用面向业务的文本编写的功能文档。 Cucumber用Gherkin语法,它是一种用自然语言来定义测试用例。它被设计成非技术人员都可以读懂的,并且共同描述与软件系统有关的用例。Gherkin的语法背后的目的是促进整个开发团队(包括业务分析师和经理)的行为驱动开发实践。它试图从企业管理的需求定义的初始阶段开始,并在开发生命周期的其他阶段执行稳固,明确的需求。 语法????????Cucumber的文件又称为剧本文件。所有的剧本文件都有.feature文件扩展名。它们包含被测系统的单个功能定义,并且是一个可执行的测试脚本。文件中的指令是任何非空和非注释行。它们由一个公认的Gherkin关键字和一个字符串组成。每个Cucumber剧本文件中描述一个功能(Feature),它细分为场景(Scenario),场景中包含多个顺序执行的步骤(Step),即步骤序列。 关键字
Feature????????Feature是所有测试的开头。后面跟一段描述性的文字,表明这个测试文件是干什么的。 Scenario????????Scenario是一个具体的测试case,包含了多个step。一般情况下,都是由Given(给定一个初始条件),When(发生了什么),Then(结果是什么)组成的。 Stepsstep是cucubmer的最小单元,每个step是由Given, When, Then, And, 或者But开头的。如果关键词后面的内容是完全一样的话,那么cucumber会认为这两句话是重复的,哪怕前面的关键词不一样。
????????Given一般用于在Scenario中描述系统的初始状态。它的目的是使系统在使用前处于一个已只的状态,要避免在Given中谈论交互上的事情。
????????When描述一个事件或者动作。他可以是与系统间的交互,也可以是由另一个系统触发的事件。cucumber强烈推荐每个Scenario只有一个When,当你觉得需要加更多的When的时候,通常就是需要拆分成多个Scenario的信号。
????????Then描述期望的输出或者结果。对Then的step definition应该使用断言去比较期望值和实际值,就和单元测试差不多。
当有几个Given,When,Then的时候,可以用And或者But代替。
????????当在同一个Feature里有多个Scenario有相同Given的时候,可以使用Background将这些Given抽到一起。这样这个Feature的每个Scenario在运行的时候,都会先运行一次Background。每个Feature里只能有一个Background。 辅助关键字????????“”":文档字符串 ????????|:数据表 ????????@:标签 ????????#:注释 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:39:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |