¿Es posible parametrizar una prueba con accesorios?
Me gustaria pasar@pytest.mark.parametrize
no valores particulares sino accesorios. Al igual que.
Dado un concurso con:
@pytest.fixture
def name1():
return 'foo'
@pytest.fixture
def name2():
return 'bar'
dentro de mi test.py esto funciona, por supuesto:
@pytest.mark.parametrize('name', ['foo', 'bar', 'baz'])
def test_name(name):
print(name)
Esto no lo hace:
@pytest.mark.parametrize('name', [name1, name2])
def test_name(name):
print(name)
Soy consciente de que en este caso trivial podría crearuno nombre el dispositivo y parametrice el dispositivo en su lugar, pero hay casos en los que esto no es deseable.
Una forma de evitar esto que encontré es conpytest_factoryboy
'sLazyFixture
. Sin embargo, a menudo no puedo acceder a los atributos de lazyfixtures dentro de mi prueba.