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)