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 ...
随机推荐
- [JLOI2012]时间流逝 树上高斯消元 概率期望
题面 题意:(感觉题面写的题意是错的?)有\(n\)种能量不同的圈,设当前拥有的圈的集合为\(S\),则: 1,每天有\(p\)概率失去一个能量最小的圈.特别的,如果\(S = \varnothing ...
- 【agc016D】XOR Replace
Portal --> agc016D Description 一个序列,一次操作将某个位置变成整个序列的异或和,现在给定一个目标序列,问最少几步可以得到目标序列 Solution 翀 ...
- Linux之进程通信20160720
好久没更新了,今天主要说一下Linux的进程通信,后续Linux方面的更新应该会变缓,因为最近在看Java和安卓方面的知识,后续会根据学习成果不断分享更新Java和安卓的方面的知识~ Linux进程通 ...
- .Net并行编程系列之一:并行基础
现在普通PC平台上面多核处理器的普及,让我们领教了能够利用多核进行并行计算的软件的处理能力,同时继承更多地核心正是当前处理器发展的趋势. 但是作为一个.NET开发人员,是否有时候会发现你的程序占用了其 ...
- oracle导入提示IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件
oracle导入提示:IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件IMP-00000: 未成功终止导入 解决办法:用户缺少导入权限,授予用户导入权限grant imp_ful ...
- Python进行数据分析(二)MovieLens 1M 数据集
# -*- coding: utf-8 -*- """ Created on Thu Sep 21 12:24:37 2017 @author: Douzi " ...
- JAVA多线程提高十:同步工具CyclicBarrier与CountDownLatch
今天继续学习其它的同步工具:CyclicBarrier与CountDownLatch 一.CyclicBarrier CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ...
- CSS属性的私有前缀
在CSS属性能中,我们常常能看到-webkit-,-moz-之类的前缀,这种就叫做浏览器私有前缀,是浏览器对于新CSS属性的一个提前支持.-webkit-是webkit内核的,-moz-是Firefo ...
- 在asp.net中使用加密数据库联接字符串
在我们发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下: 1.添加密钥 执行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50 ...
- 洛谷 Transformations 方块转换
Description 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案.写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 1:转90度 ...