【unittest】模块是python3.5中的一个内置模块
1、python文件导入【unittest】模块
import unittest
2、定义一个测试用例类,继承【unittest.TestCase】
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 import unittest 2 import HTMLTestRunner 3 from BeautifulReport import BeautifulReport as bf 4 5 class TestCalc(unittest.TestCase): 6 def setUp(self): 7 # 每个用例运行之前运行的 8 print('setup是啥时候运行的') 9 10 def tearDown(self): 11 # 每个用例运行之后运行的 12 print('teardown是啥时候运行') 13 14 @classmethod 15 def setUpClass(cls): 16 #在所有用例执行之前运行的 17 print('什么时候运行的setupclss') 18 19 @classmethod 20 def tearDownClass(cls): 21 #在所有用例都执行完之后运行的 22 print('什么时候运行的teardownclass') 23 24 def test_h(self): 25 '''h测试''' #用例描述 26 print('刘伟') 27 self.assertEqual(1,1) 28 29 def test_z(self): 30 '''z测试''' #用例描述 31 print('test') 32 self.assertEqual(1,2) 33 34 def test_a(self): 35 print('testa') 36 self.assertEqual(1,1) 37 38 def test_c(self): 39 print('testc') 40 self.assertEqual(1,2)
3、运行测试用例方式一:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 #unittest.main() #会运行当前python文件里面的所有测试用例
4、运行测试用例方式二:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 #1、先把所有的测试用例都放到用例集 2 #2、运行这些测试用例 3 #3、产生报告 4 suite = unittest.TestSuite() #【unittest.TestSuite】测试套件,用例集合,存放测试用例用的 5 suite.addTest( unittest.makeSuite(TestCalc) ) #把上面写的【TestCalc】用例类加进来 6 run = bf(suite) 7 run.report(description='描述必须写',filename='test') #filename:生成的测试报告文件名,生成的测试报告是html文件
5、运行测试用例方式三:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 # f = open('test.html','wb') #文件以'wb'的方式写文件,可以避免产生编码错误 2 # runner = HTMLTestRunner.HTMLTestRunner(f,title='用例标题',description='这是用例描述') 3 # runner.run(suite) #运行用例