2016-05-03 12 views
1

私はpy.testを使ってPythonでいくつかのテストを書いています。py.testで同じフィクスチャを複数回呼び出す

@pytest.fixture(scope='function') 
def test_user(request): 
    def finalizer(): 
     delete_the_user() 

    request.addfinalizer(finalizer) 
    return user() 
delete_the_user()

user()二つの機能ここでは詳述しない。そして、私のテストでは、ユーザーとユーザーを作成し、テスト(ファイナライザ)の後に、それを削除するために

私は、次の治具を使用しています。

問題はです:いくつかのテストで2人のユーザーを使用したいと思います。

私はその時点での任意のトピックを見つけられませんでした(または多分私は、権利のキーワードを使用していないよ:/)

を私はそのようにフィクスチャを呼び出すようにしようとしました:

def test_function(test_user_1 = test_user, test_user_2 = test_user): 
     # Test here 

成功なし。

私はどんな方向を見ているべきですか?

ありがとうございます!

+0

私はそのフィクスチャを使用しているすべての機能の大きなリファクタリングを避けたいので、フィクスチャのパラメータ化を避けたいと思います。 – superzouzou

答えて

2

私は考えることができ、これを行うための唯一の方法は、以下のとおりです。

  • は、治具の代わりに関数を返します(ただし、あなたはフィクスチャを使用して他の機能をリファクタリングする必要があるだろう作る第二の固定具
  • を持ちますあまりにも)。
+0

あなたの答えをありがとう。私はこれらが唯一の方法だと思います。ファンクションを使用してフィクスチャをパラメータ設定することが、最良の選択です。 – superzouzou

関連する問題