import unittest
import HTMLTestRunner #产生测试报告
from BeautifulReport import BeautifulReport def calc(x,y):
return x+y class TestCalc(unittest.TestCase):
def test_pass_case(self):
'''这是通过的测试用例'''#用例描述,只能是这样的格式
print('通过用例')
res = calc(1,2)
self.assertEqual(3,res)
self.assertNotEqual(2,3) #每个用例运行之前,都会执行它
def setUp(self):
print('我是setup。。。') # 每个用例运行完成后,都会执行它
def tearDown(self):
print('我是teardown。。。') # 所有的用例运行之前,都会执行它
@classmethod
def setUpClass(cls):
print('我是setupclass。。。') # 所有的用例运行之后,都会执行它
@classmethod
def tearDownClass(cls):
print('我是teardownclass。。。') def testa(self):
print('a')
def test_fail_case(self):
'''这是失败的测试用例''' #用例描述
print('用例失败!')
res = calc(9,8)
self.assertEqual(98,res)
def test_haha(self):
'''哈哈哈'''
self.assertEqual(1,2) if __name__ == '__main__': #用于自测试
# unittest.main()#他会帮你运行当前这个Python里面所有的测试用例
suite = unittest.TestSuite()#定义一个测试套件 #单个测试用例添加
# suite.addTest(TestCalc('test_pass_case'))
# suite.addTest(TestCalc('testa'))
# suite.addTest(TestCalc('test_fail_case')) # 批量添加 #将这个类里面所有的测试用例
suite.addTest(unittest.makeSuite(TestCalc)) # 普通报告模板
# f = open('report0307.html','wb') #打开一个测试报告文件
# runner = HTMLTestRunner.HTMLTestRunner(stream=f,
# title='测试结果',
# description='描述')
# runner.run(suite)#运行 # # 好看的报告模板!!
result = BeautifulReport(suite)
result.report(filename = 'louis_test_report',description='描述',log_path = '.')

Python基础学习九 单元测试的更多相关文章

  1. Python基础学习九 数据库备份

    class BakDb(object): def __init__(self,ip,username,passwd,port=3306,path=r'C:\Users\BJQT\Desktop\dat ...

  2. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  3. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  4. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  5. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  6. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  7. python基础学习(起步)

    目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...

  8. Python基础学习二

    Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...

  9. Python基础学习一

    Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...

随机推荐

  1. pat甲级 1155 Heap Paths (30 分)

    In computer science, a heap is a specialized tree-based data structure that satisfies the heap prope ...

  2. 《DSP using MATLAB》示例Example 8.7

    %% ------------------------------------------------------------------------ %% Output Info about thi ...

  3. pandas 之 set_index

    set_index 很有用 http://stackoverflow.com/questions/10457584/redefining-the-index-in-a-pandas-dataframe ...

  4. YUYV&YV12&mtk6763

    stImgInOut.stImgInfo.enImageType = UV_IMAGE_TYPE_YV12; stImgInOut.stImgInfo.as32Pitch[0] = pStreamIm ...

  5. zipkin之brave

    brave是同步收集信息,及计算调用时间,但是异步发送日志信息给zipkin:所以很多时候你无法在第一时间获取日志数据可能需要等一会.另外在写一个demo的时候,因为最后睡了1秒,经常会发现丢了一些日 ...

  6. Hadoop的简单序列化框架

    Hadoop提供了一个加单的序列化框架API,用于集成各种序列化实现.该框架由Serialization实现. 其中Serialization是一个接口,使用抽象工厂的设计模式,提供了一系列和序列化相 ...

  7. 常见企业IT支撑【1、办公网络IP地址规划】

    规划思路如下,可灵活变化

  8. bootstrap常用模态框

    <!-- 触发器(button) --> <button class="btn btn-xs btn-success" data-toggle="mod ...

  9. 雅虎CSS初始化代码

    body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,b ...

  10. FC 协议

    FC 协议简介 开发于1988年,最早是用来提高硬盘协议的传输带宽,侧重于数据的快速.高效.可靠传输.到上世纪90年代末, FC SAN 开始得到大规模的广泛应用. FC 协议其实并不能翻译成光纤协议 ...