8-unittest中case管理
Posted santiandayu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8-unittest中case管理相关的知识,希望对你有一定的参考价值。
1、关联
在接口测试中难免碰到接口B的参数值来源于接口A的返回结果,此现象即为关联。在unittest中怎么处理这种情况呢?此问题通过全局变量来解决,将变量定义为全局变量:globals()[‘varName’],如下图
2、执行顺序
在unittest中,case的执行顺序是按case的字母进行排序的,因此有时会出现定义在后面的方法比定义在前面的方法先执行。
在有执行顺序要求的case里,一定要注意case命名
3、跳过case(不执行某case)
在测试中有时会碰到,只想执行某些case,其他的case不执行,改怎么实现呢?很简单unittest.skip(‘caseName’),举例如下
4、case执行
在unittest中,case执行有两种方式,一种是直接用main执行,一同是通过添加测试套执行。分别如下
# main执行 if __name__ == ‘__main__‘: unittest.main() # 测试套执行 if __name__ == ‘__main__‘: # 创建测试套 suit = unittest.TestSuite() # 向测试套里添加case suit.addTest(TestMethod(‘test_01‘)) suit.addTest(TestMethod(‘test_02‘)) # 执行case unittest.TextTestRunner().run(suit)
5、输出测试报告
1)下载htmlTestRunner
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
2)将下载的文件放在pythonan安装目录的Lib下
如,..python2.7Lib
3)校验HTMLTestRunner是否安装成功
命令行,python模式下import HTMLTestRunner,不报错则安装成功
4)执行并生成报告
if __name__ == ‘__main__‘: # 创建文件,用来存放测试报告 filepath = ‘..htmlreporthtmlreport.html‘ # 以读写的方式打开文件 fp = file(filepath,"wb") # 创建测试套 suit = unittest.TestSuite() # 向测试套里添加case suit.addTest(TestMethod(‘test_01‘)) suit.addTest(TestMethod(‘test_02‘)) # 定义HTMLTestRunner执行相关参数 runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=‘This is first test‘) # 执行case runner.run(suit)
以上是关于8-unittest中case管理的主要内容,如果未能解决你的问题,请参考以下文章