Python unittest单元测试框架 —— 批量执行用例与HTML测试报告

批量执行用例

defaultTestLoader或者TestLoader()用于匹配执行目录下的用例

unittest.defaultTestLoader.discover( start_dir, pattern='test*.py', top_level_dir=None)

start_dir :要测试的模块名或测试用例目录。

pattern='test*.py' :表示用例文件名的匹配原则。星号“*”表示任意多个字符。

top_level_dir=None :测试模块的顶层目录。None <=> 测试用例不是放在多级目录中中)。

示例:

#构建测试用例集
discover=unittest.defaultTestLoader.discover('../testDirectory, pattern='*_test.py')
#执行测试
runner = unittest.TextTestRunner()
runner.run(discover)

Html测试报告

下载HTMLTestRunner测试报告生成文件

HTMLTestRunner.py下载地址

采用HTMLTestRunner实现产生Html测试报告,python3.X需要改写

第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode('latin-1')修改成uo = e
第772行,将ue = e.decode('latin-1')修改成ue = e
第631行,将print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

使用方法

fp=open(filename, 'wb')  # 写方式打开报告文件
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='报告标题',description='报告说明' )
#执行测试
runner.run(Suite)  # Suite为TestSuite测试套件

产生不同文件测试报告

#构建测试用例集
alltests=unittest.defaultTestLoader.discover('../testDirectory', pattern='*_test.py')
#测试套件组合在一起
now=time.strftime("%Y%m%d%H%M%S", time.localtime())  
filename=r'./report/'+now+r'result.html'  # 根据时间生成文件名
fp=open(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='报告标题',description='报告说明' )
#执行测试
runner.run(alltests)

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值