python_单元测试unittest

单元测试unittest

 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='测试报告',)

 

posted @ 2019-12-01 00:04  xmb  阅读(267)  评论(0编辑  收藏  举报