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. Jmter-Test Fragment、Include Controller和Module Controller

    Test Fragment--测试片段 The Test Fragment is used in conjunction with the Include Controller and Module ...

  2. POJ3696 The Windy's 【网络流】

    #include<iostream> #include<vector> #include<cstring> #include<algorithm> #i ...

  3. Tornado之实例和扩展

    1.Tornado文件的结构: 1.Controllers控制器 2.Models数据库操作 3.Views前端显示 2.样例 #!/usr/bin/env python # -*- coding: ...

  4. php基础语法(变量)

    PHP常用表现形式: 1.<?php .....这里是php代码 ?> 2.<? .....这里是php代码 ?> 此形式依赖于php.ini中的一项设置: short_ope ...

  5. AppScan9.0.3.5漏洞扫描记录

    1.跨站点脚本编制 这个安全漏洞拿cookie做文章,而且是将前端的一些弹窗方法,要么通过脚本注入,要么通过url.encode之后注入,看几个变异的版本: 版本一: cookie  从以下位置进行控 ...

  6. requireJS的使用说明

    RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤.可以用它来加速.优化代码,但其主要目的还是为了代码的模块化 requireJS 加载代码的 ...

  7. Python——基础数据类型(补充)

    1.基础数据类型汇总补充 (1)小数据池:   为了节省空间,数字和字符串有,其他的没有[了解]   数字:-5---256之间的数字共用一个内存地址 #(1)i1 = i2 id(i1) == id ...

  8. Linux 制作补丁 打补丁 撤销补丁

    1.制作补丁 diff - 逐行比较文件 格式 diff   参数   旧文件/旧文件夹   新文件/新文件夹 -N   将不存在的文件看作是空的 -a   将所有文件都视为文本文件 -u   以合并 ...

  9. STL所有算法简介 (转) http://www.cnblogs.com/yuehui/archive/2012/06/19/2554300.html

    STL所有算法简介 STL中的所有算法(70个) 参考自:http://www.cppblog.com/mzty/archive/2007/03/14/19819.htmlhttp://hi.baid ...

  10. MySql触发器实现数据同步学习

    触发器实现:(增.删.改操作事件触发数据单向同步)数据库触发器教程:https://www.cnblogs.com/phpper/p/7587031.html同步代码: DELIMITER $ DRO ...