python pytest request_python – 在pytest中,如何访问传递给测试的参数?

论坛 期权论坛 脚本     
已经匿名di用户   2022-4-13 16:43   3271   0

实际上,request.param仅在定义参数化的fixture函数中可用.如果您需要set_driver夹具中的用户,您可以尝试这样做:

import pytest

@pytest.fixture(params=[True, False])

def user(request):

return request.param

class TestHello:

@pytest.fixture(autouse=True)

def set_driver(self, user):

print "set_driver sees", user

def test_method(self):

assert 0

如果你只想让set_driver做一些事情,如果用户实际参与了测试,那么你可以这样做:

import pytest

@pytest.fixture(params=[True, False], scope="module")

def user(request):

return request.param

@pytest.fixture(autouse=True)

def set_driver(request):

if "user" in request.fixturenames:

user = request.getfuncargvalue("user")

print "set_driver sees", user

def test_function(user):

assert 0

def test_function_nouser():

assert 0

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP