首页 > 编程语言 >python unitest 测试运行器(Test Runner)

python unitest 测试运行器(Test Runner)

时间:2023-06-17 15:45:40浏览次数:37  
标签:__ HTMLTestRunner python unittest 测试运行 测试用例 Test

测试运行器(Test Runner)是unittest框架提供的执行测试用例的组件,用于自动运行测试用例并生成测试结果报告。它负责加载测试用例、执行测试用例,并提供测试结果的输出。

unittest框架提供了多种测试运行器,包括TextTestRunner、HTMLTestRunner、XMLTestRunner等。这些运行器可以根据不同的需求选择使用。

下面以TextTestRunner和HTMLTestRunner为例,说明如何使用这两种测试运行器:

  1. TextTestRunner: TextTestRunner是unittest框架默认的测试运行器,它将测试结果以文本形式输出到控制台。

    import unittest
    
    class MyTestCase(unittest.TestCase):
        def test_addition(self):
            self.assertEqual(2 + 2, 4)
    
    if __name__ == '__main__':
        unittest.main()

    在上述示例中,使用unittest.main()来执行测试用例。默认情况下,使用TextTestRunner作为测试运行器,并在控制台输出测试结果。

  2. HTMLTestRunner: HTMLTestRunner是一个第三方库,它可以生成漂亮的HTML格式的测试结果报告。
    import unittest
    from HTMLTestRunner import HTMLTestRunner
    
    class MyTestCase(unittest.TestCase):
        def test_addition(self):
            self.assertEqual(2 + 2, 4)
    
    if __name__ == '__main__':
        suite = unittest.TestSuite()
        suite.addTest(unittest.makeSuite(MyTestCase))
    
        with open('test_report.html', 'w') as f:
            runner = HTMLTestRunner(stream=f, title='Test Report', description='Test Results')
            runner.run(suite)

    在上述示例中,首先创建一个TestSuite对象,将测试用例添加到TestSuite中。然后创建HTMLTestRunner对象,指定输出的HTML文件路径、报告标题和描述。最后使用runner.run()方法执行测试用例并生成HTML格式的测试结果报告。

标签:__,HTMLTestRunner,python,unittest,测试运行,测试用例,Test
From: https://www.cnblogs.com/yund/p/17487533.html

相关文章

  • python 断言方法
    assertEqual(a,b):判断a和b是否相等。self.assertEqual(2+2,4)#通过self.assertEqual('hello','world')#失败,抛出AssertionErrorassertNotEqual(a,b):判断a和b是否不相等。self.assertNotEqual(2+2,5)#通过self.assertNotEqual('hello',�......
  • python unitest 测试套件TestSuite()
    unittest框架提供了多种测试套件的使用方法,用于组织和执行测试用例。以下是一些常见的测试套件使用方法及其示例:1.使用unittest.TestSuite()创建测试套件,然后使用addTest()方法添加测试用例。importunittestclassMyTestCase(unittest.TestCase):deftest_addition(self):......
  • python unitest测试用例
    unittest框架的测试用例有三种常见的写法:函数式、类式和装饰器式。函数式写法:importunittestdeftest_sum(self):result=sum([1,2,3])self.assertEqual(result,6)if__name__=='__main__':unittest.main() 注意事项:使用函数式写法时,测......
  • Python 深浅拷贝
    Python深浅拷贝一、数字、字符串对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。importcopy##########数字、字符串#########n1=123#n1="evescn"print(id(n1))###赋值##n2=n1print(id(n2))###浅拷贝##n2......
  • python 生成器 yield
    生成器属于迭代器https://mp.weixin.qq.com/s/F3GLVY2EUpISpt_koCDmWg生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方......
  • test - 标题测试
    搜索相关博客深入分析Synchronized原理(阿里面试题)synchronized实现原理深入理解Java并发之synchronized实现原理原创面试官:请详细说下synchronized的实现原理Synchronized的底层实现原理(看这篇就够了)synchronized原理及其应用(详细且认真)我的理解和表述......
  • python之json和ymal模块
    json和ymal是常用的数据交换格式,ymal可以看做是json的超集。1json格式json(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于在不同系统之间进行数据传输和存储。它由键值对构成的集合组成,通常以文件扩展名.json命名。JSON的结构非常简单,有两种基本的数据结构:1.......
  • AtCoder Beginner Contest 221 G Jumping sequence
    洛谷传送门AtCoder传送门这个数据范围让我们不得不往背包想。但是两维相互限制。考虑坐标系旋转\(45°\),转化为两维不相互限制。那我们现在相当于要安排正负号,使得\(\sum\limits_{i=1}^n\pmd_i\)等于一个给定的值\(K\)。考虑两边加上\(\sum\limits_{i=1}^nd_i\)......
  • Python自学整理
    Python对大小写敏感。在Windows下可以不写第一行注释:#!/usr/bin/python3第一行注释标的是指向python的路径,告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器。此外还有以下形式(推荐写法):#!/usr/bin/envpython3这种用法先在env(环境变量)设置里查找pyth......
  • Python 文件操作(转载)
    Python文件操作操作文件时,一般需要经历如下步骤打开文件操作文件一、打开文件文件句柄=open('文件路径','模式')打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。打开文件的模式有r,只读模式(默认)。w,只......