学习pytest的第六天-----测试用例的参数化+fixtrue参数化的另外一种方式

测试用例的参数化

我们之前学到过fixture可以作为参数传入测试用例。除了这种传参方式,我们还有其他的向测试用例传参的方式。

@pytest.mark.parametrize()

我们可以通过@pytest.mark.parametrize() 这个标签向测试用例中传入参数,如果传入的不只是一组参数而是参数列表,那么该测试用例会根据参数的不同执行多次

吃个荔枝:我们在第一个测试方法中定义两个参数,在测试方法上面添加@pytest.mark.parametrize()标签;标签里第一个参数是测试方法定义的参数的字符串,用逗号隔开;第二个参数是由要传入参数组成的元组的列表,即使你只想传入一组参数也需要以元组列表的形式(如果你只想对一个参数进行参数化,那你标签的第二个参数是列表即可)

#test_Pytest.py文件
#coding=utf-8

import pytest

class Test_Pytest():

        @pytest.mark.parametrize("message1,message2",[("我","I"),("你","you"),("他","he")])
        def test_one(self,message1,message2):
                print("test_one方法执行---%s---%s" % (message1,message2) )
                assert 1==1

        def test_two(self):
                print("test_two方法执行" )
                assert "o" in "love"

        def test_three(self):
                print("test_three方法执行" )
                assert 3-2==1

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

运行结果如下图:我们可以看到参数化的测试方法根据不同的参数执行了多次。
执行结果图1
我们也可以先定义个参数元组的列表,再传入pytest.mark.parametrize标签中,这样使数据分离。

小荔枝:运行结果和上图

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值