zoukankan      html  css  js  c++  java
  • python学习笔记(十五)-unittest单元测试的一个框架

    unittest 单元测试的一个框架
    什么框架
    一堆工具的集合。
    TestCase
    TestSuite 测试套件,多个用例在一起
    TestLoader是用来加载TestCase到TestSuite中的
    TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,
    包括运行了多少测试用例,成功了多少,失败了多少等信息

    用例必须以test开头

    import unittest
    import HTMLTestRunner
    from BeautifulReport import BeautifulReport
    def calc(x,y):
        return x+y
    
    class TestCalc(unittest.TestCase):
        def test_pass_case(self):
            '''这个通过的测试用例'''
            print('这个通过用例')
            res = calc(1,2)
            self.assertEqual(3,res)
            self.assertNotEqual(2,3)#返回的结果不一样
    
        def setUp(self):
            print('我是setUp。。')
            #每个用例运行之前都会执行它
        def tearDown(self):
            #每个用用例运行完之后都会执行它
            print('我是tearDown')
    
        @classmethod
        def setUpClass(cls):
            print('我是setupClass')
            #所有的用例执行之前执行一次
    
        @classmethod
        def tearDownClass(cls):
            print('我是tearDownClass')
            #所用的用例都运行完之后执行一次
    
        def test_a(self):
            '''这个普通的测试用例'''
            print('a')
    
        def test_fail_case(self):
            '''这个是失败的测试用例'''
            print('这个是失败的测试用例')
            res = calc(9,8)
            self.assertEqual(98,res)
        def test_haha(self):
            '''哈哈哈'''
            self.assertEqual(1,2)
    
    if __name__ =='__main__':
        unittest.main() #他会帮你运行当前这个python里面所有的测试用例。

    # suite = unittest.TestSuite()#定义一个测试套件 # # suite.addTest(TestCalc('test_pass_case')) # # suite.addTest(TestCalc('test_a')) # # suite.addTest(TestCalc('test_fail_case')) #单个添加用例的

    # suite.addTests(unittest.makeSuite(TestCalc)) #这个类里面的所有测试用例 # # f = open('report.html','wb')#打开一个测试报告的文件 # # runner = HTMLTestRunner.HTMLTestRunner(stream=f,title='测试结果',description='描述') # # runner.run(suite) #运行 难看的报告

    # result = BeautifulReport(suite) # result.report(filename='测试报告', description='描述', log_path='.')
  • 相关阅读:
    International Collegiate Programming Contest 2019 Latin American Regional Contests E. Eggfruit Cake(思维/尺取)
    Codeforces Round #673 (Div. 2) C. k-Amazing Numbers(思维)
    2020 计蒜之道 预赛 第一场 A、B
    生成字符画
    我对目前国内教学的看法
    Stm32 调试时发生HardFault_Handler
    python异常处理
    windows nfs客户端配置
    linux服务器删除文件后df -h查看文件系统占比无变化
    python ssh小程序
  • 原文地址:https://www.cnblogs.com/lincy/p/8530126.html
Copyright © 2011-2022 走看看