1、单元测试用例
1 import unittest 2 def add(a,b): 3 return a + b 4 result = add(1,1) 5 6 class AddTest(unittest.TestCase): #继承unittest.TestCase 7 def test_normal(self): 8 result = add(1,1) 9 self.assertEqual(2,result) #assertEqual是判断两个值是否相等 10 11 def test_error(self): 12 result = add(1,1) 13 self.assertEqual(1,result,‘结果计算错误‘) 14 15 unittest.main() #识别类里面的所有测试用例,测试用例必须以test开头
2、执行测试用例产生测试报告
1 import unittest 2 def add(a,b): 3 return a + b 4 result = add(1,1) 5 import HTMLTestRunner 6 import BeautifulReport as bfr 7 class AddTest(unittest.TestCase): 8 @classmethod 9 def setUpClass(cls): #所有用例执行前会执行它 10 print(‘setUpClass‘) 11 12 @classmethod 13 def tearDownClass(cls): #所有用例执行之后会执行它 14 print(‘tearDownClass‘) 15 16 def setUp(self): #每条用例执行之前都会执行它先 17 print(‘setup‘) 18 19 def tearDown(self): #每条用例执行之后都会执行它 20 print(‘tearDown‘) 21 22 def test_normal(self): 23 result = add(1,1) 24 self.assertEqual(2,result) 25 print(‘test_normal‘) 26 27 #assertEqual校验两个值是否一样 28 def test_error(self): 29 result = add(1,1) 30 self.assertEqual(1,result,‘结果计算错误‘) 31 # self.assertIn(1,[1,2,3,3]) 32 print(‘test_error‘) 33 34 def test_all(self): #按照首字母先后来执行 35 print(‘test_all‘) 36 37 def test_zero(self): 38 print(‘test_zero‘) 39 40 #unittest.main() 41 42 #testcase 43 #testsuite #用例集合 44 #testrunner #运行测试用例 45 #testloader #查找测试用例 46 47 test_suite = unittest.makeSuite(AddTest) #遍历类里面的所有测试用例 48 # file = open(‘report.html‘,‘wb‘) 49 # runner = HTMLTestRunner.HTMLTestRunner(file,title = ‘测试报告‘) 50 # runner.run(test_suite) 51 # file.close() 52 53 report = bfr.BeautifulReport(test_suite) 54 report.report(filename=‘bf_report.html‘,description=‘测试报告‘,)
原文:https://www.cnblogs.com/xumb/p/11964563.html