cucumber入门例子

1、cucumber介绍
cucumber是一款基于BDD的测试工具,它一方面通过文字描述测试行为,告诉开发和客户test case是如何进行的,另一方面通过关键字驱动和正则表达式匹配告诉scripts去做哪些事情,在运行自动化测试结束以后,会给出详细的report告 诉用户和测试人员,当前测试有哪些步骤,哪些场景,哪些行为得到了执行,多少成功,多少失败,总共耗时多少,甚至一个表格中的一个测试数据没有执行到,都 会以显著的颜色标注出test case的第几行出错,对应的script第几行出错。如此以来,无论是不懂代码的客户还是脚本编写人员都可以直观的寻找自己想要的结果。

cucumber的官方网站是http://cukes.info/, 由于它的实现语言是ruby,所以它也是rubygems庞大家族的一份子,目前cucumber可以和诸多语言开发的程序进行工作,比如ruby,java,.net,flex等等开发的程序进行工作,并且支 持多达30多种语言的描述方式

2、cucumber安装
安装命令很简单:gem install cucumber(前提是已搭建好ruby环境)

3、例子
1)描述文件addition.feature

# language: zh-CN
功能:加法
为了避免一些愚蠢的错误
作为一个数学白痴
我希望有人告诉我数字相加的结果

场景: 两个数相加
假如我已经在计算器里输入6
而且我已经在计算器里输入7
当我按相加按钮
那么我应该在屏幕上看到的结果是13

场景: 三个数相加
假如我已经在计算器里输入6
而且我已经在计算器里输入7
而且我已经在计算器里输入1
当我按相加按钮
那么我应该在屏幕上看到的结果是14


2)测试用例 calculator_steps.rb

# encoding: utf-8
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
require 'cucumber/formatter/unicode'

Before do
@calc = Calculator.new
end

After do
end

Given /我已经在计算器里输入(\d+)/ do |n|
@calc.push n.to_i
end

When /我按(.*)按钮/ do |op|
if op == '相加'
@result = @calc.send "add"
end
end

Then /我应该在屏幕上看到的结果是(.*)/ do |result|
@result.should == result.to_f
end


3)测试类 Calculator.rb

class Calculator
def push(n)
@args ||= []
@args << n
end

def add
@args.inject(0){|n,sum| sum+=n}
end
end


4)执行
在cmd,以上文件目录下输入 cucumber addition.feature
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值