1. import unittest
  2. import HTMLTestRunner #产生测试报告
  3. from BeautifulReport import BeautifulReport
  4.  
  5. def calc(x,y):
  6. return x+y
  7.  
  8. class TestCalc(unittest.TestCase):
  9. def test_pass_case(self):
  10. '''这是通过的测试用例'''#用例描述,只能是这样的格式
  11. print('通过用例')
  12. res = calc(1,2)
  13. self.assertEqual(3,res)
  14. self.assertNotEqual(2,3)
  15.  
  16. #每个用例运行之前,都会执行它
  17. def setUp(self):
  18. print('我是setup。。。')
  19.  
  20. # 每个用例运行完成后,都会执行它
  21. def tearDown(self):
  22. print('我是teardown。。。')
  23.  
  24. # 所有的用例运行之前,都会执行它
  25. @classmethod
  26. def setUpClass(cls):
  27. print('我是setupclass。。。')
  28.  
  29. # 所有的用例运行之后,都会执行它
  30. @classmethod
  31. def tearDownClass(cls):
  32. print('我是teardownclass。。。')
  33.  
  34. def testa(self):
  35. print('a')
  36. def test_fail_case(self):
  37. '''这是失败的测试用例''' #用例描述
  38. print('用例失败!')
  39. res = calc(9,8)
  40. self.assertEqual(98,res)
  41. def test_haha(self):
  42. '''哈哈哈'''
  43. self.assertEqual(1,2)
  44.  
  45. if __name__ == '__main__': #用于自测试
  46. # unittest.main()#他会帮你运行当前这个Python里面所有的测试用例
  47. suite = unittest.TestSuite()#定义一个测试套件
  48.  
  49. #单个测试用例添加
  50. # suite.addTest(TestCalc('test_pass_case'))
  51. # suite.addTest(TestCalc('testa'))
  52. # suite.addTest(TestCalc('test_fail_case'))
  53.  
  54. # 批量添加 #将这个类里面所有的测试用例
  55. suite.addTest(unittest.makeSuite(TestCalc))
  56.  
  57. # 普通报告模板
  58. # f = open('report0307.html','wb') #打开一个测试报告文件
  59. # runner = HTMLTestRunner.HTMLTestRunner(stream=f,
  60. # title='测试结果',
  61. # description='描述')
  62. # runner.run(suite)#运行
  63.  
  64. # # 好看的报告模板!!
  65. result = BeautifulReport(suite)
  66. 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. AngularX Http服务总结

    自己经常用的方式: 1.首先看httpModule Angular2的http访问经常采用两种方式: 共同点:导入相应的Module import {Http, RequestOptions, Res ...

  3. Could not transfer artifact org.springframework:spring-tx:jar:3.2.3.RELEASE

    在maven中加入依赖时,如果jar下载失败,这时pom文件中就会出现上面的错误,重新添加也不好用, 这时要手动去maven库中删除已经下载的依赖包. 默认库位置:C:\Users\XXX\.m2

  4. 【java基础】java集合之HashTable,HashSet,HashMap

    [一]HashSet (1)HashSet内部维护的是一个HashMap,具体原理见java集合之HashMap [二]HashTable (1)HashTable内部维护的是一个Entry的数组.E ...

  5. <mvc:annotation-driven>注册了什么

    前言 上一篇文章dispatcherservlet初始化中提到,如果没有配置handlermapping就会采取默认的策略进行配置handlermapping,这篇文章就要讲述mvc:annotati ...

  6. redis在mac中的安装和启动

    http://blog.csdn.net/chenshuai1993/article/details/51519384 http://www.jianshu.com/p/6b5eca8d908b

  7. 系列文章--一步一步学Silverlight2

    概述 由TerryLee编写的<Silverlight 2完美征程>一书,已经上市,在该系列文章的基础上补充了大量的内容,敬请关注.官方网站:http://www.dotneteye.cn ...

  8. elasticsearch 6.x 处理一对多关系使用场景

    思考:一个用户有多篇博客,如何查询博客作者姓名中带“旺”字.博客标题中带“运”的10篇博客列表 elasticsearch关联模型: 一: 应用层做联接2个索引博客作者.博客发布先从博客作者中查询出符 ...

  9. 基于Oracle的EntityFramework的WEBAPI2的实现(一)——准备工作

    目前在.net的范围内,好的而且方便的ORM的真的不是很多,与VS集成方便的也就当属EntityFramework(以下简称EF,不知道为什么,总EF这个缩写好不专业).但是,好多公司使用的又是ORA ...

  10. Java 成员变量和局部变量

    1.成员变量 在类中定义,用来描述对象将要有什么. 2.局部变量 在类的方法中定义,在方法中临时保存数据. 成员变量和局部变量的区别 作用域不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域 ...