python-unittest学习
在说unittest之前,先说几个概念:
TestCase 也就是测试用例
TestSuite 多个测试用例集合在一起,就是TestSuite
TestLoader是用来加载TestCase到TestSuite中的
TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息
先写一个简单的单元测试:
import unittest
# 1.定义一个测试类,类下面有测试方法
# 2.方法中调用assertEqual做校验
# 3.最后用unittest.main()运行所有测试用例 class My(unittest.TestCase):
def testa(self):
self.assertEqual(1,1) def kkk(self):#不是以test开头的方法不会被执行
self.assertEqual(1,2) def test_kkk2(self):
self.assertEqual(1,3) class My2(unittest.TestCase):
def test_kkk3(self):
'''这是kkk3的测试用例'''
self.assertEqual(1,1) def test_kkk4(self):
'''这是test4'''
self.assertEqual(1,2)
if __name__ =="__main__":
unittest.main() #unittest.main() 会找到你所有的测试用例,并将起全部运行 ===================================================
再来一个 单元测试2--会生成测试报告的单元测试
import unittest,HTMLTestRunner,xmlrunner class My(unittest.TestCase):
def test_kkk(self):
self.assertEqual(1,1) def kkk(self): #不是以test开头的测试用例 不会被执行
self.assertEqual(1,2) def test_kkk2(self):
'''这是用例2''' #这是加用例的注释
self.assertEqual(1,2) class My2(unittest.TestCase):
def test_kkk3(self):
'''这是用例3''' #这是加用例的注释
self.assertEqual(2,2) if __name__ == '__main__':
# unittest.main() #unittest.main() 会找到你所有的测试用例,并将起全部运行
suite = unittest.TestSuite() #定义一个空的测试集合
suite.addTest(My('test_kkk2')) #导入单个测试用例
suite.addTest(unittest.makeSuite(My2)) #导入类下面的全部测试用例
# fw = open('report_kkk.html','wb') #二进制的意思,就是有时候保存一些图片或者文本文件的时候就用wb
# runner = HTMLTestRunner.HTMLTestRunner(stream=fw,title='kkk自动化测试报告',description='描述描述')
# runner.run(suite)
#----------下面这个是生成xml格式的测试报告的代码--------------
# runner2 = xmlrunner.XMLTestRunner(output='.') #点 代表当前目录
runner2 = xmlrunner.XMLTestRunner(output='report') #report 为指定目录名
runner2.run(suite)
这是单元测试2的report

下面是xml格式的测试报告--xml格式主要是个后面集成到jenkins用的

python-unittest学习的更多相关文章
- Python unittest 学习
import unittest class UTest(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper() ...
- XUnit测试框架-Python unittest
选择 语言选择 本次个人作业我选择的语言是Python,了解学习Python有一段时间了但是一直没有练习,所以这次玩蛇,使用的版本是Python3.6. 开发工具选择 我选择的IDE是Pycharm, ...
- python+appium学习总结
经过了这个月的学习,今天终于完成了公司APP系统的自动化的脚本的编写. 通过单元测试框架UNITTEST,进行脚本的连跑,本来还想把测试数据统一写到EXCEL表格内,实现脚本与数据的分离. 后来发现增 ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- 60分钟Python快速学习(给发哥一个交代)
60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...
- python爬虫学习(1) —— 从urllib说起
0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...
- python爬虫学习 —— 总目录
开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
- python 线程学习
彩照 一.学习[1] # -*- coding: utf-8 -*- import time import thread def timer(no, interval): cnt = 0 while ...
- Openstack python api 学习文档 api创建虚拟机
Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...
随机推荐
- [您有新的未分配科技点]数位DP:从板子到基础(例题 bzoj1026 windy数 bzoj3131 淘金)
只会统计数位个数或者某种”符合简单规律”的数并不够……我们需要更多的套路和应用 数位dp中常用的思想是“分类讨论”思想.下面我们就看一道典型的分类讨论例题 1026: [SCOI2009]windy数 ...
- VSS2005清除管理员密码
1.下载工具ultraedit 2.登录到服务器,找到VSS库文件夹,data\um.dat 3.复制到自己桌面,用ultraedit打开,进入 引用内容 00000080h: 55 55 03 29 ...
- 【JQuery】数据
一.前言 接着前一章的内容,继续本章的学习 二.内容 queue 显示或操作在匹配元素上执行的函数队列 .queue(queueName) 操作在匹配元素上执行的函数队列 .queue( ...
- NOIP2017 逛公园 题解报告 【最短路 + 拓扑序 + dp】
题目描述 策策同学特别喜欢逛公园.公园可以看成一张NNN个点MMM条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口,NNN号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要花 ...
- LibreOJ #539. 「LibreOJ NOIP Round #1」旅游路线(倍增+二分)
哎一开始看错题了啊T T...最近状态一直不对...最近很多傻逼题都不会写了T T 考虑距离较大肯定不能塞进状态...钱数<=n^2能够承受, 油量再塞就不行了...显然可以预处理出点i到j走c ...
- [IOI2013]Dreaming
link 一道非常类似的题目(link) 试题大意 给你一棵含有$n$个节点的有边权森林,问每次连边将会用$L$的代价,问你若此图通过加边成为树时的最小直径.$n \leq 5\times 10^5$ ...
- 使用 css 的 keyframe 实现 loading 动画
效果查看:https://jsfiddle.net/rubys/je16qL5k/6/ <!DOCTYPE html> <html lang="en"> & ...
- bzoj1511 [POI2006]OKR-Periods of Words kmp+乱搞
1511: [POI2006]OKR-Periods of Words Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 351 Solved: 220[S ...
- array_filter 过滤一维中空数组,数组的序列不变
<?php header('Content-type:text;charset=utf8'); $str = "%11111%22222%333333%"; $arr = e ...
- 「Linux+Django」Django+CentOs7+uwsgi+nginx部署网站记录
转自:http://www.usday.cn/blog/51 部署前的准备: 1. 在本地可以运行的django项目 2. 一台云服务器,这里选用Centos系统 开始部署: 首先在本地导出项目需要的 ...