实际上,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