8-unittest中case管理

本文深入解析unittest框架的关键特性,包括接口测试中的关联处理、case执行顺序、跳过特定case的方法、不同执行方式及如何生成测试报告。适用于希望掌握unittest高级用法的测试工程师。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、关联

  在接口测试中难免碰到接口B的参数值来源于接口A的返回结果,此现象即为关联。在unittest中怎么处理这种情况呢?此问题通过全局变量来解决,将变量定义为全局变量:globals()[varName],如下图

 

2、执行顺序

  在unittest中,case的执行顺序是按case的字母进行排序的,因此有时会出现定义在后面的方法比定义在前面的方法先执行。

在有执行顺序要求的case里,一定要注意case命名

 

 

3、跳过case(不执行某case)

    在测试中有时会碰到,只想执行某些case,其他的case不执行,改怎么实现呢?很简单unittest.skip(caseName),举例如下

4case执行

  在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.7\Lib

3)校验HTMLTestRunner是否安装成功

命令行,python模式下import HTMLTestRunner,不报错则安装成功

 

4)执行并生成报告

if __name__ == '__main__':
    # 创建文件,用来存放测试报告
    filepath = '..\htmlreport\htmlreport.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)

 

转载于:https://www.cnblogs.com/santiandayu/p/10004143.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值