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管理的更多相关文章

  1. SQL Server中TempDB管理(版本存储区的一个example)

    原文:SQL Server中TempDB管理(版本存储区的一个example) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive ...

  2. 持续集成:TestNG中case之间的关系

    持续集成:TestNG中case之间的关系   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...

  3. 深入理解Linux中内存管理

    前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看 ...

  4. (二)shell中case语句、程序传参、while

    2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...

  5. 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 ...

  6. Git 在小团队中的管理流程(转)

    目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍 ...

  7. SQL Server中TempDB管理(version store的逻辑结构)

    原文:SQL Server中TempDB管理(version store的逻辑结构) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/arch ...

  8. 【转】Linux中包管理与定时任务

    [转]Linux中包管理与定时任务 第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep ...

  9. unittest中更高效的执行测试用例一个类只需要打开一次浏览器

    示例代码 baidu.py # _*_ coding:utf-8 _*_ import csv,unittest #导入csv模块 from time import sleep from seleni ...

随机推荐

  1. 深入Dockerfile(一): 语法指南(转)

    最近在学习K8S,发现这两篇文章还不错,转了过来 docker官方文档Dockerfile reference的笔记. 一.机制 1.1 构建 docker构建一个镜像,需要: Dockerfile文 ...

  2. docker for ubuntu 18 安装

    官网地址: https://docs.docker.com/install/linux/docker-ce/ubuntu/ docker的作用:解决不同机器之间的环境差异问题,方便迁移. 0. 卸载旧 ...

  3. LoadRunner 11.00安装篇(Win 10)

    参考博文: https://blog.csdn.net/xianjie0318/article/details/78625980 https://www.cnblogs.com/VseYoung/p/ ...

  4. 手工脱壳之AsPack压缩脱壳-随机基址

    一.工具及壳介绍二.脱壳1.ESP定律脱壳2.单步跟踪脱壳3.基址重定位的修复 一.工具及壳介绍 使用工具:Ollydbg.PEID.ImportREC.LoadPE.010 Editor 查看待脱壳 ...

  5. Spring Scheduled定时任务报错 java.lang.IllegalStateException: Encountered invalid @Scheduled method 'xxx': For input string: "2S"

    报错信息如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ding ...

  6. Swift.Operator-and-Items-in-Swift(1)

    Operator and Item 1. ..< a for-in loop and the half-open range operator (..<) // Check each pa ...

  7. EasyPR源码剖析(4):车牌定位之Sobel算子定位

    一.简介 sobel算子主要是用于获得数字图像的一阶梯度,常见的应用是边缘检测. Ⅰ.水平变化: 将 I 与一个奇数大小的内核进行卷积.比如,当内核大小为3时, 的计算结果为: Ⅱ.垂直变化: 将: ...

  8. MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded

    参考帖子: https://www.cnblogs.com/zhurong/p/9898675.html cmd 需要使用管理员权限打开

  9. JavaWeb(一)-Servlet中的Config和Context

    一.ServletConfig对象 1.1获取一个servletConfig对象 1)通过初始化方法获得一个servletconfig 2)通过继承父类(GenericServlet.)得到一个ser ...

  10. ORA-01017 invalid username/password;logon denied

    一般来说这个是密码丢失问题,但也许是因为你的用户名或密码写错啦,所以先检查下用户名和密码,觉得没错的话就去查看 sqlnet.ora (在 安装盘下面的:oracle\product\11.2.0\d ...