赞
踩
一、Fixture参数之params参数可实现参数化:(可以为list和tuple,或者字典列表,字典元祖等)
实例如下:
- import pytest
-
- def read_yaml():
- return ['1','2','3']
-
- @pytest.fixture(params=read_yaml())
- def get_param(request):
- return request.param
-
- def test01(get_param):
- print('测试用例:'+get_param)
-
- if __name__ == '__main__':
- pytest.main(['-s','pytest-demo.py'])
注意:
1.此例中test01方法被执行了三次,分别使用的数据为'1','2','3',此结果类似于ddt数据驱动的功能。特别注意:这里的request参数名是固定的,然后request.param的param没有s哦。
2.可以把return request.param改成yield request.param,yield也是返回的意思,它和return的区别在于return返回后后面不能接代码,但是yield返回后,后面还可以接代码。
Fix
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。