unittest的工作原理:一下例子简单的描述了整个过程
def calc(a,b): return a//b import unittest,HTMLTestRunner import BeautifulReport from unittest import TestCase class MyTest(TestCase):#继承TestCase @classmethod#类方法 def setUpClass(cls):#所有用例执行之前会执行一次,多用于数据库连接 print(‘运行setUpClass‘) @classmethod def tearDownClass(cls):#所有用例执行之后会执行一次,多用于数据库连接 print(‘运行setUpClass‘) def setUp(self):#每条用例运行之前都会执行 print(‘运行setUp‘) def tearDown(self):#每条用例运行之后都会执行 print(‘tearDown‘) def test_calc1(self): #正常的用例 加上下面注释就是用例描述 ‘‘‘这是测试出发计算器正常的‘‘‘ print(‘第一条用例‘) res=calc(4,2) self.assertEqual(2,res,‘预期结果和实际结果不符合 预期结果 2 世界结果为%s‘%res)#后面提示可写可不写 def test_calc2(self): ‘‘‘这是测试出发计算器不正常的‘‘‘ print(‘第二条用例‘) res=calc(5,1) self.assertEqual(1,res)#断言 def test_a(self): ‘‘‘这是王艳辉谈恋爱的‘‘‘ print(‘wangyanghui‘) def test_b(self): ‘‘‘张向欢胖胖的‘‘‘ print(‘zhangxianghuan‘) # unittest.main()#可以帮运行当前文件里面的所有测试用例 测试用例的方法名必须以test开头,不然不能测出来 test_sutie=unittest.TestSuite()#定义一个测试集合, test_sutie.addTest(MyTest(‘test_a‘))#把类里的一个用例加入到集合 test_sutie.addTest(unittest.makeSuite(MyTest))#把类里面的所有的用例都加到集合里 runtest=unittest.TextTestRunner() runtest.run(test_sutie) #以上是测试用例的基本流程 #不好看的报告 f=open(‘report.html‘,‘wb‘)#可以在网页上直接浏览的报告 runner=HTMLTestRunner.HTMLTestRunner(stream=f,title=‘XXX测试报告‘,description=‘这是XXX测试的‘) #加上‘‘‘xxx‘‘‘是报告里面加注释的 runner.run(test_sutie) f.close() #好看的报告 report=BeautifulReport.BeautifulReport(test_sutie) report.report(description=‘XXX测试‘,filename=‘report2.html‘) print(report.failure_count)#失败的条数 print(report.success_count)#成功的条数
原文:https://www.cnblogs.com/gaoweifeng/p/9482986.html