zoukankan      html  css  js  c++  java
  • unittest单元测试框架 + HTMLReport

    unit单元测试框架使用方法一:

    1. 直接调用已有的测试用例类运行:
    2. UnittestA.py文件:
    import unittest
    class myut(unittest.TestCase):
        @classmethod  # 类方法,结束测试调用一次
        def tearDownClass(cls):
            print("tearDownClass.")
    
        @classmethod # 类方法,开始测试调用一次
        def setUpClass(cls):
            print("setUpClass.")
    
        # 每个测试用例执行后调用一次
        def tearDown(self):
            print("tearDown.")
    
        # 每个测试用例执行前调用一次
        def setUp(self):
            print("setUp.")
    
        # @unittest.skip("jump A")
        def test_A(self):
            '''测试A描述'''
            # print("test_A")
            print(self.id())
            self.assertEqual(1, 1, msg="ERROR......")
    
        def test_B(self):
            '''测试B描述'''
            print(self.id())
            self.assertEqual(2, 2)
    1. 执行用例脚本文件Mytest.py
    2. Mytest.py
    import unittest
    import HTMLReport   #pip install HTMLReport 下载
    
    if __name__ == "__main__":
        testsuite = unittest.TestSuite()
        testsuite.addTest(myut("test_B"))  # 添加的测试会被执行
        testsuite.addTest(myut("test_A"))
        runner = HTMLReport.TestRunner(output_path="f:\result")  #生成测试报告
        run = HTMLReport.TestRunner()
        result = runner.run(testsuite)
        print("{}".format("*"*20))
        print(result.success_count)

    unit单元测试框架使用方法二,调用目录下测试脚本内的测试用例:

    1. 测试脚本文件:Test_B.py
    2. Test_B.py
    import unittest
    
    class testb(unittest.TestCase):
        def test_X(self):
            print(self.id())
    
        def test_Y(self):
            print(self.id())
    
        def test_Z(self):
            print(self.id())

    调用脚本:

    import unittest
    import HTMLReport
    
    if __name__ == "__main__":
        start_dir = "./"
        testload = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern="test_*.py")  #查询当前目录下测试类
        runner = HTMLReport.TestRunner(output_path="f:\result")  #生成测试报告
        result = runner.run(testload)
        print("{}".format("*"*20))
        print(result.success_count)

  • 相关阅读:
    route命令
    自动删除n天前日志
    ss命令
    rcp命令
    crontab,at命令,常见问题
    locate,nl命令
    kill,killall,top,free,vmstat,iostat,watch命令
    [转载]memcached stats 命令
    Swift学习笔记
    C++移位运算符
  • 原文地址:https://www.cnblogs.com/ylsd80/p/10449820.html
Copyright © 2011-2022 走看看