2017-09-01 4 views
4

J'écris quelques tests en utilisant pytest dont beaucoup ont des montages similaires. Je veux placer ces appareils "globaux" dans un seul fichier afin qu'ils puissent être réutilisés dans plusieurs fichiers de test. Ma première pensée était de créer un fichier fixtures.py tel queRéutiliser les luminaires pytest

import pytest 


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

Maintenant, comment puis-je utiliser cet appareil dans my_tests.py?

def test_connect(my_fixture): 
    pass 

Ceci donne fixture 'my_fixture' not found. Je peux from fixtures import my_fixture. Quelle est la solution proposée à cette situation?

Répondre

6

Pytest partagera automatiquement les appareils en conftest.py. Déplacez le projecteur partagé de fixtures.py à conftest.py.

+0

Bien que ce soit probablement une bonne idée d'éviter de nombreuses connexions de base de données, cela ne résout pas le problème dans ma question sur la façon d'importer le projecteur dans le fichier de test. –

+1

Note: vous devez les mettre dans * conftest.py * dans votre répertoire de tests - pytest recherchera les fixtures dans * conftest.py * – theY4Kman

+0

@ theY4Kman Publierez-vous cela comme une réponse, s'il vous plaît? –