网站大量收购独家精品文档,联系QQ:2885784924

PERL单元测试简易框架.PDF

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PERL单元测试简易框架

PERL 单元测试简易框架 mnstory.net 本来是写个测试脚本来测试函数是否正确,写着写着就把输出写的漂亮了些,于是将代 码抽出来,做成一个公共框架。 说是框架,非常王婆卖瓜,因为就一百五十行SHELL 脚本,PERL 本是有单元测试的,但 是我认为几行代码用那单元测试有点小题大做,最关键是,我的需求非常少,就是要跑 几句代码,检测一下返回值,并且匹配一下预期数据,然后列出测试结果而已。 我之前喜欢这样简单测试PERL 函数代码: perl -T -w -e use VTP::MutexVMs; use Data::Dumper; print Dumper(VTP::MutexVMs::mutexVMIDs()) 这样跑一遍,或者加-d 调试一下,函数是否有问题,一下就能看出来,唯一的问题是, 测试多组输入参数和输出的时候,每次都要靠双眼来对比结果是否符合预期。 有了此简易框架,两个函数的四条完整单元测试案例,你只需要类似这样写: #!/bin/bash . unitest.sh #自定参数,随意! MUTEXPATH= /cfs/mutexvms.xml mutexVMIDs() { #设置一个单元测试案例名字 target=$FUNCNAME.readNormal #准备输入参数,例如:准备文件 \cp -f $SCRIPTDIR/in/$target $MUTEXPATH #开始执行PERL 代码,重定向输出到 $SCRIPTDIR/out/$target perl -T -w -e use VTP::MutexVMs; use Data::Dumper; print Dumper(VTP::MutexVMs::mutexVMIDs()) $SCRIPTDIR/out/$target #对比结果,如果不比较返回值,只比较输入输出,用alwaysSuccess,其他的 还有 zeroSuccess equalSuccess nonZeroSuccess alwaysSuccess $target read vmids normal } addMutexGroup() { target=$FUNCNAME.emptyAdd rm -f $MUTEXPATH 2/dev/null errno=`perl -T -w -e use VTP::MutexVMs; print VTP::MutexVMs::addMutexGroup(6105658195070, 6460910776608)` \cp -f $MUTEXPATH $SCRIPTDIR/out/$target #对比返回值,如果返回值为0 表示成功,并且,会对比输出 zeroSuccess $errno $target remove $MUTEXPATH first, then add target=$FUNCNAME.emptyArg errno=`perl -T -w -e use VTP::MutexVMs; print VTP::MutexVMs::addMutexGroup()` \cp -f $MUTEXPATH $SCRIPTDIR/out/$target equalSuccess -1 $errno $target empty argments target=$FUNCNAME.invalidArg errno=`perl -T -w -e use VTP::MutexVMs; print VTP::MutexVMs::addMutexGroup(undef, undef, undef)` \cp -f $MUTEXPATH $SCRIPTDIR/out/$target nonZeroSuccess $errno $target invalid argments } entry() { mutexVMIDs addMutexGroup } main $@ 然后在脚本目录下的 expected 目录准备对应测试案例名称的输出以便对比结果。执行 输出类似: 这是全成功的输出,最后一行可以看出,30 个案例,全部成功。 也有失败的效果: 只有一个成功,23 个

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档