0
pytestフィクスチャの出力をパラメータ化したいと思います。pytestフィクスチャのパラメータ出力
# 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)
その後、私は次のことを実行すると::
のみフィクスチャ2からの最初の反復が私にはどうすればよいの固定具1にそれぞれのparamのために渡されるpy.test test_param.py
たとえば、のは、私は2つの固定具を持っているとしましょうfixture_2の出力をパラメータ化して、forループの各反復がtest_params関数に渡されるようにします。
編集:実際の問題では、2番目のパラメータの出力が最初のフィクスチャからの入力に依存するため、2番目のフィクスチャを最初のフィクスチャと同じ方法でパラメータ化できないとします。
この例では動作しますが、2番目の出力が最初の入力からの入力に依存する場合はどうなりますか?たとえば、私が取り組んでいるテストでは、最初のフィクスチャはディレクトリを返し、2番目のフィクスチャはディレクトリのファイルのサブセットを返します。 – derchambers
py.testは現在依存パラメータ化をサポートしていません – Ronny