python-参数化

'''参数化的作用
将多个测试代码相同只是测试数据不同,预期结果不同的测试用例,通过参数化的技术合并成一个测试用例
使用方法
先安装parameterized(设置-pycharm安装插件的地方安装)
导入unittest
导入from parameterized import parameterized
在需要合并数据的测试用例上面使用
@parameterized.expand([(参数1,参数2,预期结果),(参数1,参数2,预期结果),(参数1,参数2,预期结果)])
修饰方法
注意:在expand后面的括号里面跟的是参数,所以他是一个列表
- 列表里面放多个元组, 每个元组中的成员就代表调用方法使用的实参
- 列表中有几个元组,方法就会自动被调用几次'''
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import unittest
from parameterized import parameterized
def my_fun(a,b):
    return a+b
class first(unittest.TestCase):
    @parameterized.expand([(1,2,3),(2,4,8),(7,3,10)])
    def test_01(self,a,b,c):
        num1=my_fun(a,b)#num1是计算a,b相加的值,也就是实际结果
        self.assertEqual(num1,c)#使用实际结果和预期结果相比较
#也可以将参数列表直接放到外面,修饰的时候直接写列表名,这样更加直观
import unittest
from parameterized import parameterized
def my_func(a,b):
    return a+b
list1=[(1,2,3),(2,4,8),(7,3,10)]
class firsts(unittest.TestCase):
    @parameterized.expand(list1)
    def test_01(self,a,b,c):
        num1=my_fun(a,b)
        self.assertEqual(num1,c)

  







posted @   WeiDongRR  阅读(452)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示