第十一天 unittest参数化模块

Posted gaoweifeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十一天 unittest参数化模块相关的知识,希望对你有一定的参考价值。

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)#成功的条数

 

以上是关于第十一天 unittest参数化模块的主要内容,如果未能解决你的问题,请参考以下文章

Python单元测试框架之unittest参数化(paramunittest)

unittest数据参数化

unittest参数化

selenium+python自动化97--unittest参数化(paramunittest)

selenium+python自动化97--unittest参数化(paramunittest)

Python学习笔记10--unittest参数化