zoukankan      html  css  js  c++  java
  • python3+unittest+HTMLTestRunner

    参考博客1

    参考博客2

    python3版HTMLTestRunner.py见博客园‘链接’(已经上传到博客园)

    import unittest
    
    
    class operatinon_unittest(unittest.TestCase):
        def setUp(self):
            print('每个用例之前执行setup')
        def tearDown(self):
            print('每个用例执行之后')
    
        def test_one(self):
            print('test_one函数')
        def test_two(self):
            print('test_two函数')
    
    
    if __name__ == '__main__':
        unittest.main
    demo
    import unittest
    import HTMLTestRunner
    
    
    class operatinon_unittest(unittest.TestCase):
        def setUp(self):
            print('每个用例之前执行setup')
        def tearDown(self):
            print('每个用例执行之后')
    
        def test_one(self):
            print('test_one函数')
        def test_two(self):
            print('test_two函数')
    
    
    class operatinon_unittest1(unittest.TestCase):
        def setUp(self):
            print('每个用例之前执行setup')
        def tearDown(self):
            print('每个用例执行之后')
    
        def test_three(self):
            print('test_three函数')
        def test_four(self):
            print('test_four函数')
    
    
    if __name__ == '__main__':
        suite = unittest.TestLoader().loadTestsFromTestCase(operatinon_unittest)
        unittest.TextTestRunner(verbosity=2).run(suite)
    运行单个类
    import unittest
    import HTMLTestRunner
    
    
    class operatinon_unittest(unittest.TestCase):
        def setUp(self):
            print('每个用例之前执行setup')
        def tearDown(self):
            print('每个用例执行之后')
    
        def test_one(self):
            print('test_one函数')
        def test_two(self):
            print('test_two函数')
    
    
    class operatinon_unittest1(unittest.TestCase):
        def setUp(self):
            print('每个用例之前执行setup')
        def tearDown(self):
            print('每个用例执行之后')
    
        def test_three(self):
            print('test_three函数')
        def test_four(self):
            print('test_four函数')
    
    
    if __name__ == '__main__':
        suite1 = unittest.TestLoader().loadTestsFromTestCase(operatinon_unittest)
        suite2 = unittest.TestLoader().loadTestsFromTestCase(operatinon_unittest1)
        suite=unittest.TestSuite([suite1,suite2])
        unittest.TextTestRunner(verbosity=2).run(suite)
    运行多个类
    import HTMLTestRunner
    import unittest
    class MyTest(unittest.TestCase):#继承unittest.TestCase
        def tearDown(self):
            #每个测试用例执行之后做操作
            print('111')
        def setUp(self):
            #每个测试用例执行之前做操作
            print(22222)
        def test_run(self):
            # self.assertEqual(1,1)
            self.assertIs(1,1)
            #测试用例
        def test_run2(self):
            # self.assertEqual(1,1)
            self.assertIs(1,1)
            #测试用例
        def test_run3(self):
            # self.assertEqual(1,1)
            self.assertIs(1,1)
            #测试用例
        def test_run1(self):
            # self.assertEqual(1,1)
            self.assertIs(1,1)
            #测试用例
    if __name__ == '__main__':
        test_suite = unittest.TestSuite()#创建一个测试集合
        # test_suite.addTest(MyTest('test_run1'))#测试套件中添加测试用例
        test_suite.addTest(MyTest())#测试套件中添加测试用例
        #test_suite.addTest(unittest.makeSuite(MyTest))#使用makeSuite方法添加所有的测试方法
        fp = open('res.html','wb')#打开一个保存结果的html文件
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='api测试报告',description='测试情况')
        #生成执行用例的对象
        runner.run(test_suite)
        #执行测试套件
    测试报告demo
    import unittest
    import HTMLTestRunner
    
    
    class operatinon_unittest(unittest.TestCase):
        def setUp(self):
            print('每个用例之前执行setup')
        def tearDown(self):
            print('每个用例执行之后')
    
        def test_one(self):
            print('test_one函数')
        def test_two(self):
            print('test_two函数')
    
    
    class operatinon_unittest1(unittest.TestCase):
        def setUp(self):
            print('每个用例之前执行setup')
        def tearDown(self):
            print('每个用例执行之后')
    
        def test_three(self):
            print('test_three函数')
        def test_four(self):
            print('test_four函数')
    
    
    if __name__ == '__main__':
        suite1 = unittest.TestLoader().loadTestsFromTestCase(operatinon_unittest)
        suite2 = unittest.TestLoader().loadTestsFromTestCase(operatinon_unittest1)
        suite=unittest.TestSuite([suite1,suite2])
        fp = open('res.html', 'wb')  # 打开一个保存结果的html文件
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='测试报告', description='测试情况')
        # 生成执行用例的对象
        runner.run(suite)
        # 执行测试套件
    多个类测试报告
  • 相关阅读:
    [Tkinter 教程12] 布局管理 (Pack Place Grid)
    python 文本全选
    CMD窗口恢复默认设置
    Python基础第一天
    Windows:安装Python2.7、3.6与共存,安装pycharm
    Linux安装
    Python input() 函数
    python的continue和pass的区别
    Python 文件读写操作实例详解
    python tkinter教程-事件绑定
  • 原文地址:https://www.cnblogs.com/wanghuaqiang/p/10145108.html
Copyright © 2011-2022 走看看