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.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)
8-unittest中case管理的更多相关文章
- SQL Server中TempDB管理(版本存储区的一个example)
原文:SQL Server中TempDB管理(版本存储区的一个example) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive ...
- 持续集成:TestNG中case之间的关系
持续集成:TestNG中case之间的关系 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...
- 深入理解Linux中内存管理
前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看 ...
- (二)shell中case语句、程序传参、while
2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...
- mysql中 case when的使用
SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b ...
- Git 在小团队中的管理流程(转)
目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍 ...
- SQL Server中TempDB管理(version store的逻辑结构)
原文:SQL Server中TempDB管理(version store的逻辑结构) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/arch ...
- 【转】Linux中包管理与定时任务
[转]Linux中包管理与定时任务 第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep ...
- unittest中更高效的执行测试用例一个类只需要打开一次浏览器
示例代码 baidu.py # _*_ coding:utf-8 _*_ import csv,unittest #导入csv模块 from time import sleep from seleni ...
随机推荐
- python之字符串拼接:%和format
使用百分号拼接字符串: 例如: msg='i am %s my hobby is...' %'abc' print(msg) 如果需要用2个%s呢?就使用括号例如: msg='I am %s my h ...
- IO输入输出流
在Java中进行文件的读写,Java IO流是必备的知识. IO流指 的是输入输出流,用来处理设备上的数据.这里的设备指硬盘,内存,键盘录入,网络传输等. 按处理数据类型来分:字节流和字符流. 按流的 ...
- java中null是什么,以及使用中要注意的事项
1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如: Integer i=null; Float f=null; String ...
- vue响应式原理
vue的响应式,数据模型仅仅是普通的Javascript对象.当你修改它们时,视图会进行更新 那么如何追踪变化: 当把普通的js对象传给vue实例的data选项,Vue将遍历此对象的所有属性,并使用O ...
- Android 代码判断是否有网络
public void okGo() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemServic ...
- byte -> int
传送门 传送门2 以下copy: int i = 0; i += ((b[0] & 0xff) << 24); i += ((b[1] & 0xff) <&l ...
- 牛客小白月赛13 小A的回文串(Manacher)
链接:https://ac.nowcoder.com/acm/contest/549/B来源:牛客网 题目描述 小A非常喜欢回文串,当然我们都知道回文串这种情况是非常特殊的.所以小A只想知道给定的一个 ...
- python字符串的魔法
*首字母大写test="aslf"v=test.capitalize()print(v) *所有字母变成小写test="QWFDE"v=test.casefol ...
- java_24.1文件流的应用--复制文件
注意:先开的流要最后关 用字节流传输 public class Demo { public static void main(String[] args){ FileInputStream fis = ...
- 创建表结构的sql语句
1.创建表结构 表名: ODS_PSP_DIS_DAY_CALC create table ODS_PSP_DIS_DAY_CALC ( ID CHAR(32) NOT NULL, DIS ...