zoukankan      html  css  js  c++  java
  • pytest之参数化parametrize的使用

    在测试用例的前面加上:
    @pytest.mark.parametrize("参数名",列表数据)
    参数名:用来接收每一项数据,并作为测试用例的参数。
    列表数据:一组测试数据。

    示例代码:

    import pytest
    test_datas = [
        (11, 22, 33),
        (22, 33, 55)
    ]
    
    datas_dict = [
        {"a": 1, "b": 2, "c": 3},
        {"a": 11, "b": 22, "c": 33},
        {"a": 111, "b": 222, "c": 333},
    ]
    
    # 方式一:直接写
    @pytest.mark.parametrize("a, b, c", [(1, 2, 3), (4, 5, 9)])
    def test_add01(a, b, c):
        res = a + b
        assert res == c
    
    # 方式二:参数为列表中嵌套元组
    @pytest.mark.parametrize("data", test_datas)
    def test_add02(data):
        res = data[0] + data[1]
        assert res == data[2]
    
    # 方式三:参数为列表中嵌套字典
    @pytest.mark.parametrize("data", datas_dict)
    def test_add03(data):
        res = data["a"] + data["b"]
        assert res == data["c"]
  • 相关阅读:
    监听器
    过滤器
    连接池与分页
    jdbc优化
    jdbc入门
    web开发mysql基础
    自定义标签
    jsp基础
    会话管理入门
    19. Remove Nth Node From End of List C++删除链表的倒数第N个节点
  • 原文地址:https://www.cnblogs.com/benben-wu/p/11542411.html
Copyright © 2011-2022 走看看