I am trying to use parameterized fixture in my pytest-bdd framework.
Normal fixture works fine. But If I am passing parameters, it gives below error
The requested fixture has no parameter defined for test:
Below is my code(Sample). Waht is the correct usage here?
@pytest.fixture(params=[1,2])
def ba_data(request):
print("this is fixture")
return request.param
@given(parsers.cfparse('Collect testdata'))
def required_data(ba_data):
print(ba_data)
in order to use parameterized fixture in pytest-bdd
you have to declare the scenario using @scenario("yourfeaturename.feature","your scenario name")
it would not work if you use the scenarios function as
scenarios("yourfeaturename.feature")
you will have to pass the fixture to the function below @scenario
@scenario("yourfeaturename.feature","your scenario name")
def test_mytest(ba_data):
pass
@pytest.fixture(params=[1,2])
def ba_data(request):
print("this is fixture")
return request.param
@given(parsers.cfparse('Collect testdata'))
def required_data(ba_data):
print(ba_data)