2017-09-01 8 views
4

私はpytestを使っていくつかのテストを書いていますが、多くは類似のフィクスチャを持っています。これらの「グローバル」フィクスチャを1つのファイルに入れて、複数のテストファイルに再利用できるようにしたいと思います。私の最初の考えは、今私はmy_tests.pyで、この治具を使用してくださいどのようなpytest fixturesを再利用

import pytest 


@pytest.fixture() 
def my_fixture(): 
    # do something 

としてfixtures.pyファイルを作成することでしたか?

def test_connect(my_fixture): 
    pass 

これはfixture 'my_fixture' not foundとなります。私はfrom fixtures import my_fixtureできます。この状況にどのような解決策がありますか?

答えて

6

Pytestはconftest.pyでフィクスチャを自動的に共有します。共有器具をfixtures.pyからconftest.pyに移動します。

+0

これは多分データベース接続を避けるための良い考えですが、これは私の質問では、テストファイルにフィクスチャをインポートする方法についての問題には対処しません。 –

+1

注:テストディレクトリの中に* conftest.py *を入れたいと思うでしょう。 - pytestは* conftest.py * – theY4Kman

+0

@ theY4Kmanでフィクスチャを検索します。 –