pytest数据参数化

1.传入单个参数  @pytest.mark.parametrize(参数名,参数值)-----参数值多为列表形式

# coding=utf-8
import pytest

class TestDemo:
    # 创建测试数据
    data_list = ["xiaoming","xiaohong"]
    # 参数化
    @pytest.mark.parametrize("name",data_list)
    def test_a(self,name):
        print("test_a")
        print(name)
        assert 1

if __name__ == "__main__":
    pytest.main(["-s","pytest_one.py"])


# 结果  每个参数执行一遍用例
"""
pytest_one.py test_a
xiaoming
.test_a
xiaohong
.
"""

2.传入多个参数  @pytest.mark.parametrize(('参数名1,参数名2'),[(参数1_01,参数1_02),(参数2_01,参数2_02)])

# coding=utf-8
import pytest

class TestDemo:
    # 创建测试数据
    data_list = [("xiaoming","123456"),("xiaohong","654321")]
    # 参数化
    @pytest.mark.parametrize(("name","password"),data_list)
    def test_a(self,name,password):
        print("test_a")
        print(name,password)
        assert 1

if __name__ == "__main__":
    pytest.main(["pytest_two.py"])

# 结果
"""
pytest_two.py test_a
xiaoming 123456
.test_a
xiaohong 654321
.
"""

 


版权声明:本文为weixin_43489242原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。