# 导入测试类执行测试用例
import unittest
from day_20191202.class_unittest import TestMathMethod, TestMulti
# from day_20191202 import class_unittest  # 为了运行模块中多个测试类
import HTMLTestRunner

# ------------------------------
# 方法1 只执行部分用例
# suite = unittest.TestSuite()  # 存储用例
# suite.addTest(TestMathMethod("test_add_two_zero"))
# suite.addTest(TestMathMethod("test_add_two_positive"))  # 添加一个用例,传入的参数是函数名
#
#
# # 执行存储的两个用例
# runner = unittest.TextTestRunner()
# runner.run(suite)
# -----------------------------------------------

# 方法2,TestLoader 按照从上到下的顺序执行测试类中的所有用例
# loader = unittest.TestLoader()  # 加载用例
# suite = unittest.TestSuite()  # 存储用例
# suite.addTest(loader.loadTestsFromTestCase(TestMathMethod))  # 传入测试类名,会自动找到这个类下所有的测试用例
#
# runner = unittest.TextTestRunner()
# runner.run(suite)
# --------------------------------------------------

# 方法3,模块中定义了多个测试类,导入和传参的时候具体到模块名,不用写类名
# loader = unittest.TestLoader()
# suite = unittest.TestSuite()
# suite.addTest(loader.loadTestsFromModule(class_unittest))
#
# runner = unittest.TextTestRunner()
# runner.run(suite)
# ------------------------------------------------------------
# 把测试结果输出到文件中
# 加载用例
# loader = unittest.TestLoader()
# suite = unittest.TestSuite()
# suite.addTest(loader.loadTestsFromModule(class_unittest))

# 执行用例,把测试结果输出到文件中
# with open("test.text", "w+", encoding="utf-8") as file:
#     runner = unittest.TextTestRunner(verbosity=2)
#     runner.run(suite)
# print(file.closed)  # 判断文件是否关闭状态
# --------------------------------------------------------

suite = unittest.TestSuite()
suite.addTest(TestMathMethod("test_add_two_positive"))
suite.addTest(TestMathMethod("test_add_negative"))
suite.addTest(TestMathMethod("test_add_two_zero"))
test_case = [TestMulti("test_multi_positive"), TestMulti("test_multi_negative"), TestMulti("test_multi_zero")]
suite.addTests(test_case)

with open("result.html", "wb") as file:
    runner = HTMLTestRunner.HTMLTestRunner(stream=file, title="单元测试报告", description="未来测试大佬")
    runner.run(suite)

  

unittest(2)-加载用例的3种方式-输出测试报告的更多相关文章

  1. Spring加载properties文件的两种方式

    在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可, ...

  2. ios网络学习------4 UIWebView的加载本地数据的三种方式

    ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...

  3. 加载xib文件的两种方式

    一.加载xib文件的两种方式 1.方法一(NewsCell是xib文件的名称) NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@&quo ...

  4. 转 Velocity中加载vm文件的三种方式

    Velocity中加载vm文件的三种方式   velocitypropertiespath Velocity中加载vm文件的三种方式:    方式一:加载classpath目录下的vm文件 Prope ...

  5. Hadoop生态圈-注册并加载协处理器(coprocessor)的三种方式

    Hadoop生态圈-注册并加载协处理器(coprocessor)的三种方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到目前为止,大家已经掌握了如何使用过滤器来减少服务器端通过 ...

  6. Velocity中加载vm文件的三种方式

    Velocity中加载vm文件的三种方式: a.  加载classpath目录下的vm文件 /** * 初始化Velocity引擎 * --VelocityEngine是单例模式,线程安全 * @th ...

  7. ExtJS4加载FormPanel数据的几种方式

    我们做web应用最多的就是处理表单,extjs为我们提供了很多处理表单的功能,很多初学者疑惑怎么加载表单数据,到底能用什么方式加载?本文中,我将我自己实验过的进行一下总结,自己备忘,也希望能帮助到其他 ...

  8. windows/tomcat 修改java虚拟机JVM以utf-8字符集加载class文件的两种方式

      1.情景展示 做了这么长时间的java开发,但是,你知道JVM是以怎样的编码加载.解析class文件的吗? 我们知道,通常情况下,我们会将java文件的字符集修改成utf-8,这样,理所当然地就认 ...

  9. iOS --- UIWebView的加载本地数据的三种方式

    UIWebView是IOS内置的浏览器,可以浏览网页,打开文档  html/htm  pdf   docx  txt等格式的文件.  safari浏览器就是通过UIWebView做的. 服务器将MIM ...

随机推荐

  1. C#判断两个字符串是否相等的方法 ,还有char赋空值办法。

    string str1="Test"; string str2 = "Test"; if (str1==str2) //第一种判断方式 { //第二种判断方式 ...

  2. DataStructuresAndAlgorithm--字谜游戏

    参考:http://tieba.baidu.com/p/2071585293 输入是由一些字母构成的一个二维数组以及一些单词组成.目标是要找出字谜中的单词,这些单词可能是水平.垂直或沿对角线上任何方向 ...

  3. Python 进行 OCR识别 -- pytesseract库

    pip install pytesseract 报错:tesseract is not installed or it's not in your path 下载安装 Tesseract-OCR ht ...

  4. java去掉数字后面的0

    有些财务业务场景是需要把数字多余的0去掉的. 可以这么写 private String getRealData(BigDecimal num) { if (num == null) { return ...

  5. Java实现生产与消费(完美注释版)

    /** * 2019年8月8日17:42:23 * 目的:Java多线程实现生产与消费 * @author 张涛 * * 多态: * 一个父类的引用既可以指向父类对象 * 也可以指向子类对象 * 它会 ...

  6. SpringBoot集成ssm-druid-通用mapper

    简单介绍 springboot 首先什么是springboot? springboot是spring的另外一款框架,设计目的是用来简化新的spring应用的搭建和开发时所需要的特定的配置,从而使开发过 ...

  7. Mysql计算时间最近多久

    -- DATE_SUB(CURDATE(), INTERVAL 3 MONTH)计算结果为当前时间的前推三个月,time字段可为时间型字符串 select * form t_user where ti ...

  8. 实验报告8 AC+Fit AP组网通过三层网络注册(DHCP Option 43)

    实验报告8 课程名称 无线网络与安全技术 实验名称 AC+Fit AP组网通过三层网络注册(DHCP Option 43) 姓名 学号 班级 实 验 目 的   [实验目的] 了解AC+Fit AP跨 ...

  9. linux_cat命令

    cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件. 关于此命令,有人认为写 cat 命令的人是因为喜欢猫,因此给此 ...

  10. 吴裕雄--天生自然python机器学习:Logistic回归

    假设现在有一些数据点,我们用 一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作回归.利用Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类 ...