# 导入测试类执行测试用例
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. Mybatis学习——Mybatis核心配置

    MyBatis的核心配置 在使用MyBatis框架时,设计两个核心的d对象:SqlSessionFactory和SqlSession. SqlsessionFactory SqlSessionFact ...

  2. KVM---利用 libvirt+qemu-kvm 创建虚拟机

    KVM 虚拟化已经是一个工业级的虚拟化解决方案了,以前都是直接下载 VMware,然后安装其他操作系统的,今天我们来体验一下自己动手创建一台虚拟机,这样你就会知道在KVM下创建一台虚拟机,是多么简单的 ...

  3. Jupyer Notebook, Jupyter Lab 虚拟环境配置

    虚拟环境 conda create -n python36 python=3.6 使用以下命令激活: activate python36 Notebook 安装插件 conda install nb_ ...

  4. 使用hexo+GitHub搭建个人博客的心得(含教程)

    Author Email Yaoyao Liu yaoyaoliu@msn.com 前言 对于广大CS专业的学生和码农,找一个地方写博客,记录一些编程.配置环境.阅读论文的心得体会是一个很常见的习惯. ...

  5. CF 1095C Powers Of Two

    题目连接:http://codeforces.com/problemset/problem/1095/C 题目: C. Powers Of Two time limit per test 4 seco ...

  6. 如何决定 Web 应用的线程池大小

    在部署 web 应用到生产环境,或者在对 web 应用进行性能测试的时候,经常会有人问:如何决定 web 应用线程池大小?决定一个 IO 阻塞型 web 应用的线程池大小是一项很艰巨的任务.通常是通过 ...

  7. android中的适配器模式

    原文: https://blog.csdn.net/beyond0525/article/details/22814129 类适配模式.对象适配模式.接口适配模式

  8. unless|until|LABEL|{}|last|next|redo| || |//|i++|++i

    #!/usr/bin/perl use strict; use warnings; $_ = 'oireqo````'; unless($_ =~ /^a/m){print "no matc ...

  9. 常见 Web 安全攻防总结

    Web 安全的对于 Web 从业人员来说是一个非常重要的课题,所以在这里总结一下 Web 相关的安全攻防知识,希望以后不要再踩雷,也希望对看到这篇文章的同学有所帮助.今天这边文章主要的内容就是分析几种 ...

  10. 方格取数(多线程dp,深搜)

    https://www.luogu.org/problem/P1004 题目描述 设有N×N的方格图(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某 ...