Bir pytest fikstürünün çıkışını parametrelendirmek istiyorum. Aşağıdaki çalıştırdığınızda SonraPytest fikstürünün parametrize çıkışı
# contents of test_param.py
import pytest
@pytest.fixture(params=[1,2])
def fixture_1(request):
return request.param
@pytest.fixture
def fixture_2(fixture_1):
for num in range(5): # the output here should be parametrized
return '%d_%s' % (fixture_1, num) # but only returns first iteration
def test_params(fixture_2):
print (fixture_2)
assert isinstance(fixture_2, str)
: Örneğin, iki demirbaşlar olduğunu varsayalım fikstürü 2 fikstür 1'de her param için geçirilen gelen
py.test test_param.py
sadece ilk yineleme Ben nasıl for döngüsündeki her iterasyonun test_params işlevine geçeceği şekilde fikstür_2 çıktısını parametrelendirin?
Düzenleme: İkinci armatürün ilk olarak aynı şekilde parametrize edilemeyeceğini varsayın çünkü gerçek problemde ikinci parametrenin çıkışı birinci sabitleyiciden gelen girişe bağlıdır.
Bu örnekte işe yarayacaktı, ama ya ikincinin çıktısı ilk girdiden girdiyse ne olur? Çalıştığım testte, ilk fikstür bir dizini ve ikincisi dizindeki dosyaların bir alt kümesini döndürür. – derchambers
py.test şu anda bağımlı parametrelemeyi desteklemiyor – Ronny