初识gauge自动化测试框架(二)

摘要:
我看到一些学生对这个工具感兴趣,所以我将继续介绍Gauge自动化测试工具。BDD由两部分组成,一部分是软件行为描述*使用加法方法,3加5的结果是8。创建一个行为文件Spec/calculator Spec,翻译以上内容:#calculator I mimimplementing一个简单的计算器,可以对数字进行加、减、乘和除。##测试添加*创建类别计算器。*使用Addmethod,数字“3”加上“5”的结果是“8”。与其他BDD框架的唯一区别是Guage的行为描述文件是用markdown语法编写的。例如,Python的BDD框架由一些关键字组成。在项目根目录中运行gagerunspecs命令。

看到一些同学对该工具有点一兴趣,那么我将继续介绍Gauge自动化测试工具。

Gauge本质上一个BDD(Behavior Driven Development)测试框架。所以,首先你要了解BDD的操作方式。

BDD包含两部分,一部分是: 软件行为描述。另一部分是: 针对描述编写测试代码

首先,行为描述文件描述如下。

# 计算器

我想实现一个简单的计算器,这个计算器可以做两个数的加、减、乘、除运算。
 
## 测试加法
 
* 创建Calculator类。
* 相使用add方法,计算3 加5 的结果为8。

创建一个行为文件specs/calculator.spec,将上面的内容翻译一下:

# Calculator

I'm implementing a simple calculator that can add, 
subtract, multiply, and divide two numbers.


## Test addition

* Create a Class Calculator.

* Using Add method, digital "3" plus "5" result is "8".

唯一和其它BDD框架不同之处在于,Guage的行为描述文件是由markdown话法编写。
比如Python的BDD框架behave是由一些关键字组成(Feature、Scenario、Given、When、Then等)。

# -- FILE: features/example.feature
Feature: Showing off behave  
 
 Scenario: Run a simple test    
    Given we have behave installed     
      When we implement 5 tests
    Then behave will test them for us!

好了,我上面用markdown写的行为文件我想你是可以看懂的,如果实在不懂markdown语法的话。也许这个在线工具可以帮你快速学习:

http://mahua.jser.me/

再接下来,针对行为文件来写代码实现。创建 setp_impl/calculator.py 文件。

from getgauge.python import step


@step("Create a Class Calculator.")
def create_Calculator():
    calc = Calculator()


@step("Using Add method, digital <a> plus <b> result is <c>.")
def test_add(a, b, c):
    calc = Calculator()
    result = calc.add(a, b)
    assert result == int(c)


class Calculator():

    def add(self, x, y):
        return int(x) + int(y)

在实现测试代码文件中,通过 @step() 装饰器引用行为描述文件中的步骤,并将其中用到的数据通过 <变量> 替换,将变量用到测试步骤中。

严格来说,Calculator() 类的实现应该单独文件中实现,这里只是为了省事儿。

在项目根目录下运行 gauge run specs命令。

初识gauge自动化测试框架(二)第1张

查看测试报告。

初识gauge自动化测试框架(二)第2张

如果我想增加测试用例呢? 很简单,只需要增加行为描述即可。

……

## Test addition big number

* Create a Class Calculator.

* Using Add method, digital "301" plus "578" result is "879".

那么问题来了,gauge到底可以用来做什么类型的测试,这里有一些例子供你参考。
https://getgauge-examples.github.io/

免责声明:文章转载自《初识gauge自动化测试框架(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇html5 canvas 前端生成缩略图MFC录制音频和播放音频下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【推荐】HTML5 UI框架 推荐

笔者的男装网店:http://shop101289731.taobao.com 。冬装,在寒冷的冬季温暖你。新品上市,环境选购 最近自己瞎搞一下web网页的东西。想开发先找资源。 整理了一下HTML5的比较给力的UI开源框架: 1.Kendo UI : 官网地址: http://www.kendoui.com/ 推荐指数:★★★★☆ KendoUI是一款开...

开源自动化测试框架安装部署

本人前几天刚接触自动化测试,由于编写测试案例需要搭建环境,以下就是本人搭建环境的步骤。如有错误,请指正。 测试框架 Selenium + Robot Framework + Jenkins Selenium 需要 Selenium Server,这可以是 Robot Framework 所在的同一台机器,也可以是另一台可通过 TCP/IP 连接的服务器。在...

[置顶] Windows显示驱动(WDDM)编程初步(2)

欢迎转载【作者:张佩】【原文:http://www.yiiyee.cn/Blog/wddm2/】 第二部分专门只讲VIDPN。这是后面内容的基础。WDDM框架用VIDPN这个概念,来描述它所要处理的显示关系。 VIDPN VIDPN的全称是Video Present Network,这个因为词组不太好翻译(直译可以是:视频提交网络,但颇为难听),所以一般都...

20个2020年最优秀的PHP框架回顾

这篇文章主要介绍了20个2020年最优秀的PHP框架回顾,简单分析了目前比较主流的优秀框架供大家参考,需要的朋友可以参考下   对于Web开发者来说,PHP是一款非常强大而又受欢迎的编程语言。世界上很多顶级的网站都是基于PHP开发的。本文我们就来回顾一下20个2020年最优秀的PHP框架。 每一个开发者都知道,拥有一个强大的框架可以让开发工作变得更加快捷...

浅谈如何设计自动化测试框架

关于测试框架的好处,比如快速回归提高测试效率,提高测试覆盖率等这里就不讨论了。这里主要讨论自动化框架包含哪些内容,以及如何去设计一个测试框架。 1. 什么是自动化测试框架? 它是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。 以常见的前端UI测试为例,一个测试框架大概包括测试对象,测试组件,基础类和函数,工具类,测...

主流RPC框架通讯协议实现原理与源码解析

主流RPC框架通讯协议实现原理与源码解析。互联网+的大环境下,用户量、数据量的急剧增长,使得单机系统不能承载更多的数据处理能力,从而催生了分布式技术的快速发展。 分布式RPC框架,已经有很多开源的高性能框架,例如Dubbo、GRpc、Spring Cloud,他们都是非常优秀的RPC框架。这个PPT主要是用来分析常见RPC框架的实现原理和源码解析,最后通...