python_unittest基础

import unittest
import HTMLTestRunner
import HTMLTestRunner_PY3
#HTMLTestRunner_PY3 比 HTMLTestRunner界面更友好

#测试Add
def Add(a,b):
    return a+b

class TestAddCase(unittest.TestCase):
    #测试集合类的描述
    '''测试add方法'''
    def test_normal(self):
        #测试case的描述
        '''正常的'''
        result = Add(1,2)
        self.assertEqual(3,result)

    def test_error1(self):
        #测试case的描述
        '''异常的不带msg'''
        result = Add(1,2)
        self.assertEqual(4,result)

    def test_error2(self):
        #测试case的描述
        '''异常的带msg'''
        result = Add(1,2)
        self.assertEqual(4,result,msg='结果错误')
if __name__ == '__main__':
    pass
    #不产生测试报告
    # unittest.main()

    #运行单个测试用例
    # test_suite = unittest.TestSuite()#实例TestSuite
    # test_suite.addTest(TestAddCase('test_error2'))
    # test_suite.addTest(TestAddCase('test_normal'))
    # test_suite.addTest(TestAddCase('test_error1'))

    #运行某个类里面的所有测试用例方法1
    # test_suite = unittest.TestSuite()#实例TestSuite
    # load = unittest.TestLoader()#实例TestLoader
    # test_suite.addTests(load.loadTestsFromTestCase(TestAddCase))#测试用例加载至test_suite

    #运行某个类里面的所有测试用例方法2
    # test_suite = unittest.makeSuite(TestAddCase)

    #查找某个目录下 的测试用例"20220425_case"用例路径,"test*.py"以test开头
    # test_suite = unittest.defaultTestLoader.discover('20220425_case','test*.py')


    '''
    verbosity关键字是执行测试之后显示测试结果的信息复杂程度
    verbosity=0代表得到执行测试的总数和全局结果
    verbosity=1 代表得到成功的显示 失败的显示 f 错误的显示 e(如果不写数字默认为1)
    verbosity=2可以得到详细的信息
    '''
    #HTMLTestRunner样式的报告
    # with open('report.html','wb') as wf:
    #     test_run = HTMLTestRunner.HTMLTestRunner(stream=wf,title='unittest_report',description='测试报告')
    #     test_run.run(test_suite)
    
    #HTMLTestRunner_PY3样式的报告
    # with open('report.html','wb') as wf:
    #     test_run = HTMLTestRunner_PY3.HTMLTestRunner(stream=wf,title='unittest_report',description='测试报告',verbosity=2)
    #     test_run.run(test_suite)

 

posted @ 2022-04-25 16:19  小马哥007  阅读(23)  评论(0编辑  收藏  举报