首页 > 编程语言 > 详细

Python之unittest参数化

时间:2019-11-21 00:54:08      阅读:106      评论:0      收藏:0      [点我收藏+]

unittest如何做参数化呢?

我们在写case 的时候如果就是参数不同,我们只需要把参数都写到一个list里面, 然后循环去执行这个case即可。

unittest中有一个模块parameterized,可以帮我们循环,不需要自己写循环,直接pip install parameterized安装即可。

例如:一个登陆的case

import parameterized
import unittest,BeautifulReport

data = [
    [admin,123456,True], #第三列表示预期结果
    [admin,1122,False],
    [sdfsdf,1111,False]
]

data1 = [
    [admin,123456,True,正常登陆], #第四列表示描述
    [admin,1122,False,冻结用户登陆],
    [sdfsdf,1111,False,黑名单用户登陆]
]

def login(user,password):
    if user==admin and password==123456:
        return True
    return False

class LoginTest(unittest.TestCase):
    @parameterized.parameterized.expand(data)
    def test_login(self,user,password,expect):
        ‘‘‘登陆‘‘‘ # 加上‘‘‘在测试报告中会显示用例描述
        result=login(user,password)
        self.assertEqual(expect,result)

    @parameterized.parameterized.expand(data1)
    def test_login1(self,user,password,expect,desc):
        self._testMethodDoc=desc #自己指定用例描述的展示样子
        result=login(user,password)
        self.assertEqual(expect,result)

bf=BeautifulReport.BeautifulReport(unittest.makeSuite(LoginTest))
bf.report(filename=11-17测试报告,description=接口测试报告)

结果:展示了2种用例描述的样式,其中123条是指定的用例描述,456条是默认的样式。

技术分享图片

 

 

Python之unittest参数化

原文:https://www.cnblogs.com/tata-learning/p/11902146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!