Ruby测试框架Rspec初探
作者:网络转载 发布时间:[ 2013/12/16 11:12:05 ] 推荐标签:
describe '异常测试' do
# 这里的before hook只能作用在'异常测试'describe之内了
before(:each) do
echo '--- 准备一盏全新台灯 ---'
end
describe '破坏性测试' do
it '榔头砸不坏' do
echo '榔头砸不坏'
end
it '泡水里不短路' do
echo '泡水里不短路'
end
end
describe '耐久性测试' do
it '连续使用七天七夜不灭' do
echo '连续使用七天七夜不灭'
end
it '风吹雨打也不能阻止我发光' do
# 对于未完成的用例 可以先把描述写下来 具体的用例里面使用pending关键字占位
pending '这个用例待完成'
end
end
end
end
|
再看一下运行结果报表,两相对照,用例的树状结构一目了然
用例命名简单化,且有实际含义
之前写用例,用例命名是一个十分关键但也很头疼的工作,大家懂得
而Rspec本质上是一门 DSL (Domain Specific Language),实际上,从上面的示例代码和运行结果截屏中大家已经可以看到,在Rspec中是无须给测试用例命名的,或者说,用例的命名可以非常书面化,一般是用例意图的简单描述(即:describe及it关键字后面跟着的描述性语句)
支持未完成的用例先占位
不解释,还是看图
对于未完成的用例,可以先把描述写下来,具体的用例步骤里面使用pending关键字占位
it '风吹雨打也不能阻止我发光' do
# 对于未完成的用例 可以先把描述写下来 具体的用例里面使用pending关键字占位
pending '这个用例待完成'
end
反映在用例报表中,这个用例被标志为黄色了 树状的用例组织结构/用例命名简单化/支持未完成的用例先占位,这三个特性使得使用Rspec编写测试用例时,思路可以非常自由,开阔,很像是在写 markdown ,来不及的地方,也可以先使用 pending 占位
写完以后,跑一遍用例,生成的html报表可读性很强,可以直接用于策划,开发,测试之间的沟通(必杀技,有木有!)
其它不错的特性
Rspec是一门DSL,但它仍旧支持在用例中参杂原生Ruby代码,如下所示
Rspec与TestNG/JUnit一样,也有类似before/after的hook(如下所示),其作用范围是当前的describe
由于describe允许层层嵌套,因此,Rspec中的before/after的作用域也是层层嵌套的,比之TestNG的Before/After,灵活性大大超过
describe 'PHILIPS台灯 - 出厂质检' do
# Rspec是一门测试DSL 但其中可以夹杂原生Ruby代码 比如这个echo()函数
def echo(input)
puts input
end
# Rspec与TestNG/JUnit一样 也有类似before/after的hook
# 其作用范围为其所在的describe
# before在it语句块之前执行
before(:each) do
echo '--- 开始本次测试 ---'
end
# after在it语句块之后执行
after(:each) do
echo "--- 结束本次测试 ---
"
end
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南