unittest篇8-参数化(paramunittest)

前言

上一篇博客我们讲述ddt数据驱动,ddt能够使得输入M组数据,ddt框架会自动构造出M个测试用例。在unittest我们还有一个模块也可以实现它,就是paramunittest模块。也能实现和ddt一样的效果

1、paramunittest安装

pip install paramunittest

在这里插入图片描述

2.使用

2.1 代码

下面我使用聚合报告的‘历史上的今天’的api为例;

import paramunittest
import unittest
import requests
@paramunittest.parametrized(
    {"month": 1, "day": 25},
    {"month": 1, "day": 26},
    {"month": 1, "day": 27},
    {"month": 1, "day": 28}
)

class TestDttDemo(unittest.TestCase):
    def setParameters(self,month,day):
    # 这里接受的参数month,day必须和前面定义的元祖里面嵌套字典字段保持一致
        self.month = month
        self.day = day

    def setUp(self) -> None:
        print('开始')

    def tearDown(self) -> None:
        print('结束')

    def test_Api(self):
        url = 'http://api.juheapi.com/japi/toh'
        data = {
            "key": "7486da7f50cd55e6774fb3311b526d8a",
            "v": '1.0',
            "month": self.month,
            "day": self.day
        }
        response = requests.post(url=url,data=data)
        print(response.json())

if __name__ == '__main__':
    # verbosity = 2 可以显示用例的详情
    unittest.main(verbosity=2)

2.2 分析

  • 1、参数需要使用@paramunittest.parametrized修饰;
  • 2、参数可以传字典格式,也可以传入元祖类型都是可以的;
  • 3、用例的执行顺序是按照参数里面的顺序进行执行的;
  • 4、接收参数必须使用setParameters方法去接收参数;

3、结果

在这里插入图片描述
大家可以尝试一下将结果写入BeautifulReport报告中,这里我就不多此一举了。如果不会可以看一下博主前面生成测试报告的博客,对照‘依葫芦画瓢’即可

ps :

1、后续内容继续深入unittest的学习;
2、有什么问题,欢迎大家评论区评论交流!谢谢大家!
3、如果觉得博主这篇博客对大家有用,麻烦评论区留下自己的‘脚印’ !

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值