Ruby测试框架Rspec初探

发表于:2013-12-13 11:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:尘泥(侃)    来源:51Testing软件测试网采编

  Rspec 是Ruby社区的主流测试框架,今天简单玩了一下,觉得有几个特性是十分值得借鉴的
  树状的用例组织结构
  我们知道很多测试用例工具,例如: testlink ,其测试用例组织是树状的,但是,我之前接触到的测试框架,例如: TestNg ,它是无法支持这种用例组织结构的
  Rspec却可以!
  简单的讲,Rspec可以仅由 describe与it 两种语句块构成
  首先声明,Rspec是基于 BDD 测试思想的,并没有传统意义上的 测试用例(testcase) 的概念
  describe可以层层嵌套describe及it,从而构成树状结构
  it语句块是这棵树的叶子节点,功能上接近于测试用例这个概念,用例断言(Assertion)一般就在这里面
  还是看示例吧
  先看代码,描述的是一盏飞利浦台灯在出厂之路上所经历的种种测试
# encoding: utf-8
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 "--- 结束本次测试 ---\n\n"
end
it "冒烟测试(插电源 - 开开关 - 灯亮了)" do
echo '插电源 - 开开关 - 灯亮了'
end
# describe可以与it语句块并列 例如 "冒烟测试" 与 "正向测试"
# describe可以层层嵌套 从测试用例组织的角度讲 就是构成了一个树状结构
describe '正向测试' do
describe '发光性' do
# it语句块接近于传统意义上的testcase
it '亮度可以调节' do
echo 'min-1-2-3-4-5-max'
end
it '最大亮度不得超过10000' do
echo 'no more than 1w'
end
it "只能发射白色光" do
echo 'white light'
end
end
describe '节能性' do
it "符合国家节能标准" do
echo '符合国标'
end
it "每小时耗电不多于0.000001度" do
echo '0.000001kwh'
end
end
end
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号