私は資格情報の治具を使用してPythonのテスト(ユーザーIDとパスワードの組)pytestフィクスチャを他のフィクスチャでパラメータ化できますか?
def test_something(credentials)
(userid, password) = credentials
print("Hello {0}, welcome to my test".format(userid))
を持っていると私は資格情報のpytest治具があります。それは素晴らしい
を作品
@pytest.fixture()
def credentials():
return ("my_userid", "my_password")
を今私はテストを2回(ステージングとプロダクションのために1回)実行できるように、これを複数の資格(ステージングとプロダクション)で拡張したいと考えています。
私はパラメータ化が答えだと思っていましたが、什器でパラメータ化できないようです。
私はこのような何かをするのが大好きだ:staging_credentialsとproduction_credentialsは、すべての器具です
@pytest.fixture(params=[staging_credentials, production_credentials])
def credentials(request):
return request.param
:フィクスチャに
@pytest.fixture()
def staging_credentials():
return ("staging_userid", "staging_password")
@pytest.fixture()
def production_credentials():
return ("prod_userid", "prod_password")
どうやらパラメータは、他の備品にすることはできません。
これをうまく処理する方法についてのご意見はありますか?私はhttps://docs.pytest.org/en/latest/proposals/parametrize_with_fixtures.htmlを見ましたが、それはあまりにも強引な力のようです。
ありがとうございます! スティーブ