1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块

包含以下几个子模块

测试用例:TestCase

测试集:TestSuite

加载用例:TestLoader

执行用例:TextTextRunner

2.用法:

2.1写用例时,先导入unittest模块

2.2 新建测试方法(方法名要以Test开头)时,需要继承(unittest.TestCase)

import unittest
class TestLogin(unnittest.TestCase):
  pass

2.3测试方法中,可以包含前置后置,前置是setUp,后置是tearDown

def setUp(self):
print("正在准备测试数据") def tearDown(self):
print("测试用例执行完毕。")

2.4写完用例后,运行用例,运行前需要加载用例,这时需要用到加载器: unittest.TestLoader()

testloader = unittest.TestLoader()

2.5查找用例,先写用例路径以及报告路径、命名

dir_path = os.path.dirname(os.path.abspath(__file__))#os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
case_path = os.path.join(dir_path, 'test_cases')
report_path=os.path.join(dir_path,'kuangjia/report')

ts = str(int(time.time()))
file_name = 'test_result_{}.html'.format(ts)
file_path = os.path.join(report_path, file_name)

2.6 加载用例,有几种方法,一种是:discoer,将用例全部都加载出来

suite = testloader.discover(case_path)

第二种是:loadTestsFromModule,加载模块中的用例

suite = testloader.loadTestsFromModule(test_login)

第三种是:loadTestsFromTestCase,加载指定的测试类

suite = testloader.loadTestsFromTestCase(TestLogin)

  

第四种是:loadTestsFromName,加载测试函数

suite = testloader.loadTestsFromName()

2.7将加载到的用例,合并添加到一个总的测试套件套件

suite_total = unittest.TestSuite()
suite_total.addTests(suite)

  

2.8 运行用例,runner=unittest.TextTestRunner()但是工作中不用,用HTMLTestRunner,需要复制这个文件到项目目录下

# TODO: 一定要使用二进制的方式代开
with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="史上最帅的测试报告",
description='那是真的帅',
tester='最帅的小马哥')
runner.run(suite_total)

  

2.6到2.7的简化版本:

testloader=unittest.TestLoader()#初始化加载器
suite=unittest.TestSuite()#初始化空测试套件
suite.addTests(testloader.loadTestsFromModule(test_case_01))#往里面加用例
suite.addTests(testloader.loadTestsFromModule(test_case_02)) with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="前程贷接口测试报告",
description='前程贷接口测试报告',
tester='最帅的小马哥')
runner.run(suite)

  

------------恢复内容开始------------

1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块

包含以下几个子模块

测试用例:TestCase

测试集:TestSuite

加载用例:TestLoader

执行用例:TextTextRunner

2.用法:

2.1写用例时,先导入unittest模块

2.2 新建测试方法(方法名要以Test开头)时,需要继承(unittest.TestCase)

import unittest
class TestLogin(unnittest.TestCase):
  pass

2.3测试方法中,可以包含前置后置,前置是setUp,后置是tearDown

def setUp(self):
print("正在准备测试数据") def tearDown(self):
print("测试用例执行完毕。")

2.4写完用例后,运行用例,运行前需要加载用例,这时需要用到加载器: unittest.TestLoader()

testloader = unittest.TestLoader()

2.5查找用例,先写用例路径以及报告路径、命名

dir_path = os.path.dirname(os.path.abspath(__file__))#os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
case_path = os.path.join(dir_path, 'test_cases')
report_path=os.path.join(dir_path,'kuangjia/report')

ts = str(int(time.time()))
file_name = 'test_result_{}.html'.format(ts)
file_path = os.path.join(report_path, file_name)

2.6 加载用例,有几种方法,一种是:discoer,将用例全部都加载出来

suite = testloader.discover(case_path)

第二种是:loadTestsFromModule,加载模块中的用例

suite = testloader.loadTestsFromModule(test_login)

第三种是:loadTestsFromTestCase,加载指定的测试类

suite = testloader.loadTestsFromTestCase(TestLogin)

  

第四种是:loadTestsFromName,加载测试函数

suite = testloader.loadTestsFromName()

2.7将加载到的用例,合并添加到一个总的测试套件套件

loader=unittest.TestLoader()

suite_total = unittest.TestSuite()
suite_total.addTests(loader.loadTestsFromModule())

  

2.8 运行用例,runner=unittest.TextTestRunner()但是工作中不用,用HTMLTestRunner,需要复制这个文件到项目目录下

# TODO: 一定要使用二进制的方式代开
with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="史上最帅的测试报告",
description='那是真的帅',
tester='最帅的小马哥')
runner.run(suite_total)

  

2.6到2.7的简化版本:

#按模块发现用例
suite=loader.loadTestsFromModule(test_register)
suite_total=unittest.TestSuite()
suite_total.addTests(suite)

  

with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="前程贷接口测试报告",
description='前程贷接口测试报告',
tester='最帅的小马哥')
runner.run(suite)

  

python中的unittest库的更多相关文章

  1. 利用Python中的mock库对Python代码进行模拟测试

    这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下     ...

  2. 【归纳】正则表达式及Python中的正则库

    正则表达式 正则表达式30分钟入门教程 runoob正则式教程 正则表达式练习题集(附答案) 元字符\b代表单词的分界处,在英文中指空格,标点符号或换行 例子:\bhi\b可以用来匹配hi这个单词,且 ...

  3. Python中使用第三方库xlrd来写入Excel文件示例

    Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...

  4. 【转】利用Python中的mock库对Python代码进行模拟测试

    出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...

  5. Python中的unittest和logging

    今天使用Python的unittest模块写了些单元测试,现记录下要点: 使用unittest的基本格式如下: import unittest class Test(unittest.TestCase ...

  6. python中的turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

  7. python 中有趣的库tqdm

    Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息用法:tqdm(iterator) # 方法1: import time from tqdm import tq ...

  8. Python中的BeautifulSoup库简要总结

    一.基本元素 BeautifulSoup库是解析.遍历.维护“标签树”的功能库. 引用 from bs4 import BeautifulSoup import bs4 html文档-标签树-Beau ...

  9. Python中关于第三方库的补充

    Python语言的强大之处在于它的开源.正是因为它的开源,产生了成百上千的第三方库,涵盖了计算机的几乎所有的方向.第三方库的安装也并不是特别的复杂,通过在cmd中使用pip命令可以安装几乎所有的库,但 ...

随机推荐

  1. CF1430 E. String Reversal(div 2)

    题目链接:http://codeforces.com/contest/1430/problem/E 题意:有一串长度为n(n<=2*10^5)由小写字母组成的字符串,求通过相邻交换得到其反转串( ...

  2. 布隆过滤器 Bloom Filter 2

    date: 2020-04-01 17:00:00 updated: 2020-04-01 17:00:00 Bloom Filter 布隆过滤器 之前的一版笔记 点此跳转 1. 什么是布隆过滤器 本 ...

  3. D. Generating Sets 解析(思維)

    Codeforce 722 D. Generating Sets 解析(思維) 今天我們來看看CF722D 題目連結 題目 略,請直接看原題 前言 真的是沒想到... @copyright petje ...

  4. MySQL中没有FULL OUTER JOIN的处理

    FULL OUTER JOIN:SELECT column_name(s)FROM table1FULL OUTER JOIN table2ON table1.column_name=table2.c ...

  5. Ubuntu18.04上安装NS-3

    目录 第一步:处理gcc/g++版本 第二步:安装相关依赖 第三步:正式安装 第四步:测试 我自己前后安装过好几次NS3了,网上其他相关的博客质量都不是很好,因此自己总结了一个ns3的安装过程. 首先 ...

  6. ZOJ 1004 Anagrams by Stack

    Anagrams by Stack 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1004 题意:通过堆栈实现将一 ...

  7. 关于H5页面在微信浏览器中音视频播放的问题

    Android 上,因为各个软件使用的浏览器渲染引擎不一样,所以视频播放的效果差异也很大,这里主要以微信为主.微信使用的是腾讯浏览器自带的X5内核. 而iOS是不允许使用第三方浏览器内核的,就是Goo ...

  8. inno setup win10 创建菜单里面卸载图标

    1.win10自己注册表关联的卸载图标 会隐藏 卸载图标.现在的项目法是 不写注册表 直接 在目标文件里面创建快捷方式 移动到菜单里面 ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 ...

  9. 8、Python语法之流程控制

    一 引子 流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构).分支结构(用到if判断).循环结构(用到while与for) 二 分支结 ...

  10. 7、Django之模型层第二篇:多表操作

    一 表关系回顾 在讲解MySQL时,我们提到,把应用程序的所有数据都放在一张表里是极不合理的. 比如我们开发一个员工管理系统,在数据库里只创建一张员工信息表,该表有四个字段:工号.姓名.部门名.部门职 ...