py.test de contrôle de l'exploitation forestière
Nous avons récemment passé à py.test pour python de test (ce qui est fantastique, en passant). Cependant, j'essaie de comprendre comment contrôler la sortie du journal (c'est à dire le haut-python module de journalisation). Nous avons pytest-capturelog installé et cela fonctionne comme prévu et quand nous voulons voir les journaux, nous pouvons passer --nologcapture option.
Cependant, comment voulez-vous contrôler le niveau d'enregistrement (par exemple, info, debug, etc.) et aussi le filtre de l'enregistrement (si vous n'êtes intéressé que par un module spécifique). Est-t-il des plugins pour py.test pour atteindre ce ou avons-nous besoin de déployer notre propre?
Grâce,
Jonny
- pytest-capturelog semble avoir été remplacé par pypi.python.org/pypi/pytest-catchlog il est mentionné dans un certain nombre de commentaires ci-dessous, mais au départ, j'ai raté cette information et a essayé d'utiliser la pytest-capturelog. Je pars de ce commentaire en espérant qu'il sera plus visible et enregistrer le gars à côté de faire de mon erreur.
- Depuis la version 3.3,
pytest-catchlog
est inclus dans lepytest
cadre, de sorte que vous n'avez pas besoin de rien de plus. Voir Journalisation dans les docs.
Vous devez vous connecter pour publier un commentaire.
Installation et l'utilisation de la pytest-capturelog plugin pourrait satisfaire la plupart de vos pytest/d'enregistrement. Si quelque chose est manquant, vous devriez être en mesure de mettre en œuvre relativement facilement.
the functionality of this plugin has been merged to the pytest core
comme l'a dit ici github.com/eisensheng/pytest-catchlog (Fourche depytest-capturelog
)Que Holger dit que vous pouvez utiliser pytest-capturelog:
Si vous ne souhaitez pas utiliser pytest-capturelog vous pouvez utiliser un stdout StreamHandler dans votre journalisation config que pytest la capture à la sortie du journal. Voici un exemple basicConfig
pytest-capturelog
à partir de la version 3.3, comme indiqué ici: docs.pytest.org/en/latest/logging.html#release-notesUn peu de retard de cotisation, mais je peux recommander pytest d'enregistrement pour une simple goutte dans l'exploitation forestière solution de capture. Après
pip install pytest-logging
vous pouvez contrôler le niveau de verbosité de vos journaux (affichage sur écran) avecetc... NB - la
-s
indicateur est important, sans qu'ilpy.test
filtre tous lessys.stderr
de l'information.Pytest maintenant a un support natif pour le contrôle de l'exploitation forestière par la
caplog
dispositif; pas besoin de plugins.Vous pouvez spécifier le niveau de journalisation pour un enregistreur ou par défaut à la racine de l'enregistreur de:
Pytest capte aussi la sortie du journal dans
caplog.records
de sorte que vous pouvez affirmer enregistré des niveaux et des messages. Pour de plus amples informations, voir la documentation officielle ici et ici.Un peu encore un peu plus tard contribution: vous pouvez essayer pytest-enregistreur. La nouveauté de ce plugin est que la journalisation du système de fichiers: pytest fournit nodeid pour chaque élément de test, qui peut être utilisé pour organiser des sessions de test répertoire de journaux (avec l'aide de pytest tmpdir facilité et c'est testcase début/fin crochets).
Vous pouvez configurer plusieurs gestionnaires (avec les niveaux) pour le terminal et le système de fichiers séparément et de fournir propre cmdline des options de filtrage enregistreurs/niveaux pour le faire fonctionner pour votre environnement de test - par exemple, par défaut, vous pouvez vous connecter tous de système de fichiers et petite fraction de terminal, qui peut être modifié à la session par session avec
--log
option si nécessaire. Le Plugin ne fait rien par défaut, si l'utilisateur ne définit pas de crochets.