python 使用parameterized进行参数

import unittest
from parameterized import parameterized   # 引入parameterized模块
a = [(1,2,3), (4,5,7)]

class ceshi(unittest.TestCase):

    def test01(self):
        self.assertEqual(2,2)

    @parameterized.expand([(1,2,3),(4,6,7)])
    def test02(self,a,b,c):
        s = a+b
        self.assertEqual(s,c)


if __name__=='__main__':
    unittest.main()

结果:
在这里插入图片描述
iloc函数
tolist函数把ndarray转化为list对象

import unittest
from parameterized import parameterized   # 引入parameterized模块
import pandas as pa
import requests
list = pa.read_excel('E:\桌面\参数化.xls',)
a=list.iloc[:,4:6].values
b = a.tolist()


class testsearch(unittest.TestCase):


    @parameterized.expand(b)
    def test01(self, a1, b1):
        url = 'http://127.0.0.1:8000/api/get_event_list/'
        a1 = eval(a1)  # 注意将字符串转化成字典在进行请求
        r = requests.get(url, params= a1)
        self.result = r.json()
        print(self.result['status'])
        self.assertEqual(self.result['status'], b1)


if __name__ == '__main__':
    unittest.main()

dict函数用于返回字典对象
在这里插入图片描述
eval函数把字符串转化成字典格式

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的自动化测试参数化是指在测试过程中,通过传递不同的参数来执行相同的测试用例。这样可以提高代码的复用性和测试覆盖率。在Python中,有多种方式可以实现参数化测试,下面介绍其中两种常用的方法。 1. 使用unittest库的@parameterized装饰器: unittest库提供了一个@parameterized装饰器,可以配合测试方法的参数列表使用,实现参数化测试。具体步骤如下: - 导入unittest和parameterized模块:`from parameterized import parameterized` - 使用@parameterized装饰器来装饰测试方法,并在方法的参数列表中定义参数:`@parameterized.expand([(param1, param2, ...), ...])` - 在测试方法中使用传入的参数进行测试。 示例代码如下: ```python import unittest from parameterized import parameterized class MyTest(unittest.TestCase): @parameterized.expand([(1, 2, 3), (4, 5, 9)]) def test_add(self, a, b, expected): result = a + b self.assertEqual(result, expected) if __name__ == '__main__': unittest.main() ``` 2. 使用pytest库的@pytest.mark.parametrize装饰器: pytest库也提供了一个@parametrize装饰器,可以实现参数化测试。具体步骤如下: - 导入pytest库:`import pytest` - 使用@pytest.mark.parametrize装饰器来装饰测试方法,并在方法的参数列表中定义参数:`@pytest.mark.parametrize("param1, param2, ..., expected", [(value1, value2, ..., expected1), ...])` - 在测试方法中使用传入的参数进行测试。 示例代码如下: ```python import pytest class TestClass: @pytest.mark.parametrize("a, b, expected", [(1, 2, 3), (4, 5, 9)]) def test_add(self, a, b, expected): result = a + b assert result == expected ``` 这两种方法都可以实现参数化测试,具体选择哪种方法可以根据个人偏好和项目需求来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值