# 导入测试类执行测试用例
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. SSM到Spring Boot-校园商铺平台

    第04章 店铺注册功能模块 4-3 Thumbnailator图片处理和封装Util[通过java代码实现给图片打上水印] 4-3 Thumbnailator图片处理和封装Util[通过java代码实 ...

  2. 面试必问之http以及浏览器相关知识

    /** 1.HTTP以及HTTPS概念 HTTP是超文本传输协议,是一个用于传输超媒体文档的应用层协议,被用于在web浏览器和网站服务器之间,以明文方式传递信息, 不提供任何方式的饿数据加密,因此使用 ...

  3. Disruptor的简单介绍与应用

    前言 最近工作比较忙,在工作项目中,看了很多人都自己实现了一套数据任务处理机制,个人感觉有点乱,且也方便他人的后续维护,所以想到了一种数据处理模式,即生产者.缓冲队列.消费者的模式来统一大家的实现逻辑 ...

  4. 一个简单WebApp的全程

    开始前,我先给出上一篇选项卡的demo链接http://xqhuadou.com/demo1/index.html.相信看着应该很带感,不过这个是之前经过修改的. 制作过程我就不多说了,可以直接看源码 ...

  5. Linux分区挂载

    Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了.分区在Linux和其他设备一样都只是一个文件.要使用一个分区必须把它加载到文件系统中.这可能难于理解,继续往下看 ...

  6. 支付宝H5支付demo

    支付宝H5支付 首先我们必须注册一个支付宝应用(本案例就直接用支付宝的沙箱环境,这个沙箱也就是支付宝提供给开发者的一个测试环境) 登录地址:https://open.alipay.com/platfo ...

  7. Python的变量和注释

    变量 python的变量就像一个名字,一个变量对应一个内存地址.当我们定义一个变量时,Python解释器会在内存中开辟一片空间,用于存放各种数据(字符串.列表.元组.字典.对象....). 不同的变量 ...

  8. linux xargs详解

    xargs  [-0prtx] [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null] [-d delimiter] [--delimiter d ...

  9. dynamic用法

    https://www.cnblogs.com/lgx5/p/9650203.html https://www.cnblogs.com/gygtech/p/9915367.html

  10. Oscar的拓扑笔记本

    目录 Euler characteristic Euler定理 引入:绝对值 度量空间 Example: 开集,闭集 Topological space 什么是拓扑 拓扑空间 例子: Exercise ...