Cucumber测试框架应用介绍--黄瓜框架
来源:互联网 发布:c语言中的float 编辑:程序博客网 时间:2024/06/02 11:36
最近陪着女朋友研究了下有关测试的内容,主要是研究了一下Cucumber这个测试框架,说是可以通过DSL来定义基于场景的验收级别测试,当然单元测试等测试也可以实现。由于中文文档很多都没有细致的对Cucumber进行讲解,我就以一篇国外博客中的例子来讲一下Cucumber的基本用法吧!
环境 Intellij IDEA + Spring
https://github.com/Steve-Fenton/JavaKatas/tree/master/NumberGames 这是项目的Github地址,想试一下的朋友都可以clone下来自己跑跑,用maven导入就好了。
https://www.stevefenton.co.uk/2015/01/getting-started-with-bdd-intellij/ 有关环境设置的可以参考原文,链接附上。
Cucumber的细节介绍我们就不讲了,如果你还不知道Cucumber可是用来干嘛的话,可以搜一搜别人对它的基本介绍,我们这里只介绍如何应用黄瓜。总的来讲,它是一套定义DSL来验证测试结果的测试框架,用户可以编写自己的DSL,在代码中对该DSL进行解析,程序读取到关键信息后,运行结果并验证。
在这套代码中,Cucumber起到了进行单元测试的作用。Java代码中声明了一个Game类,并可以做简单的数字游戏,如FizzBuzz等(规则:输入一个数字,若为3的倍数输出fizz,5的倍数输出buzz,公倍数输出fizzbuzz)。
我们并不关心Game类是如何实现的,我们只关心Cucumber是如何定义、解析并执行DSL的。
项目结构如下所示:
单元测试测试通过黄瓜和Junit来跑,如图所示
接下来,我们需要在resources里面书写我们想要的DSL:在本个测试中,我们填入的信息为:
1我在玩fizzbuzz游戏;
2我输入的数组为1;
3我希望输出结果为1。
接下来,我们需要编写解析DSL的代码。如下图所示:
黄瓜对DSL的解析方式相当直接,直接打入你的话语加一些正则表达对相关参数进行匹配一下就好了,不仅如此,黄瓜还可以识别中文呢。其中,有一些是黄瓜自己的关键字,如Given、And、When、And等。在这里,语句就会自动进行匹配,相应的函数也会被执行。要注意的是,在黄瓜中,同样的语句只能有一个,不能有两个相同的语句,对应不同的执行函数。
- Cucumber测试框架应用介绍--黄瓜框架
- 基于cucumber二次开发的测试框架整理
- 自动化测试框架Cucumber和RobotFramework
- 10分钟学会 Cucumber + Watir 自动化测试框架
- 自动化测试框架Cucumber和RobotFramework的实战对比
- 转载:自动化测试框架Cucumber和RobotFramework的实战对比
- 自动化测试框架Cucumber和RobotFramework的实战对比
- 自动化测试框架Cucumber和RobotFramework的实战对比
- 自动化测试框架Cucumber和RobotFramework的实战对比
- 软件测试框架介绍
- 分布式测试框架介绍
- Android测试框架介绍
- Android测试框架介绍
- 自动化测试框架介绍
- Maven+eclipse+Java+cucumber测试框架运行测试的一种运行方式
- Struts应用框架介绍
- 应用编程框架介绍
- JUnit测试框架使用介绍
- Codeforces Problem 778B 拆位做法
- spring知识七------对JDBC的支持
- 树莓派 开始的配置
- JVM加载class文件的原理机制
- 打造氚云PaaS智慧服务 社区+智能客服同步上线
- Cucumber测试框架应用介绍--黄瓜框架
- 一步一步学MySQL----4 表的创建与删除
- apple 产品鉴定
- 《快学Scala》习题详解 第3章 数组
- QT小程序:利用QGraphicsScene和QGraphicsView进行显示操作
- 成长类--第一篇
- 设计模式:单例模式
- HIVE 中内连接(JOIN ON) 与 LEFT SEMI JOIN 分析
- 闭包