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) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix