2017-03-23 1 views
2

Pour un paquetage que j'ai créé, j'ai exécuté python setup.py sdist bdist_wheel, ce qui génère des artefacts de paquetage dans le répertoire dist/. Maintenant, je voudrais exécuter les tests unitaires du paquet dans ces artefacts. Quelle est une bonne façon de le faire? Pour être clair: une alternative serait d'exécuter les tests directement à partir des fichiers sources locaux, mais je veux éviter cela pour m'assurer que je suis en train de tester l'artefact exact que les utilisateurs installeraient (as suggested here). J'utilise Python 3 et je suis sur un environnement Linux ou Mac OS. Mon contexte est un serveur de construction qui construit, teste, puis publie des artefacts (vers un dépôt privé de type PyPI) lorsque des validations sont faites dans un dépôt Git.Python: exécuter des tests depuis wheel ou sdist

S'il y a une autre approche que je devrais utiliser à la place, je suis tout ouïe.

Répondre

3

Qu'est-ce que vous pouvez faire est:

  • Créer un environnement virtuel
  • Installez votre package
  • Exécutez les tests contre votre bibliothèque installée à l'aide des outils tels que pytest, vous pouvez en savoir plus sur les pratiques pytest bien ici : http://pytest.org/dev/goodpractises.html

comme il est indiqué dans les documents pytest un coup d'oeil à tox aussi bien pour votre serveur CI: http://pytest.org/dev/goodpractises.html#use-tox-and-continuous-integration-servers

Ceci est une question connexe sur la façon de tester à l'aide du package installé: il semble Force py.test to use installed version of module

+0

Cool, comme « tox » traitera bien des détails pour moi. Merci. –