Comment faire pour supprimer l'py.test interne de la dépréciation des avertissements
Est-il un moyen de supprimer la pytest interne de la dépréciation des avertissements?
Contexte: je suis à la recherche pour évaluer la difficulté de portage d'une suite de test de nose
à pytest
. La suite est assez large et fortement utilise nose
de style yield
de test basé sur les générateurs.
Je voudrais tout d'abord assurez-vous que le existant tests passent avec pytest, et peut-être un test de changement des générateurs de parameterized
.
Juste en cours d'exécution $ pytest path-to-test-folder
avec pytest 3.0.4 est complètement dominé par des pages et des pages de
WC1 ~repos/numpy/numpy/lib/tests/test_twodim_base.py yield tests are deprecated, and scheduled to be removed in pytest 4.0
Est-il un moyen de transformer ces avertissements?
OriginalL'auteur ev-br | 2016-11-20
Vous devez vous connecter pour publier un commentaire.
De
pytest --help
:OriginalL'auteur The Compiler
pytest -p no:warnings
ou ajouter la ligne suivante à votre pytest.ini ou tox.ini:
Le résultat sera vert sans aucune indication de mises en garde (sauf si les tests échouent, bien sûr).
Voir https://docs.pytest.org/en/latest/warnings.html#disabling-warnings-summary
OriginalL'auteur Blaise
Je pense que vous ne voulez pas masquer toutes les mises en garde, mais seulement ceux qui ne sont pas pertinents. Et dans ce cas, deprectation mises en garde contre l'importation de modules python.
Avoir une lecture sur pytest de la documentation sur Les Avertissements De Capture:
De sorte que vous pouvez les avertissements du filtre avec python
-W
option!Il semble que
pytest
supprime complètement les filtres, car il montre à tous ceuxDeprecationWarning
lors de l'exécution, et le Python de la documentation sur Avertissement Par Défaut Des Filtres dit clairement:Donc dans votre cas, si vous voulez laisser dire pour filtrer les types d'avertissement que vous voulez ignorer, comme ceux
DeprecationWarning
, il suffit d'exécuter le pytest de commande avec-W
option :MODIFIER: à Partir de colini du commentaire, il est possible de filtrer par module. Exemple d'ignorer la dépréciation des avertissements de tous les sqlalchemy :
Vous pouvez ensuite la liste de vos modules installés qui crée trop de bruit à la sortie de
pytest
Utiliser avec un fichier plutôt qu'en ligne de commande:
Vous préférez peut-être la liste de ces filtres pytest.fichier ini :
ignore::DeprecationWarning:sqlalchemy.*:
OriginalL'auteur CloC
Je ne veux pas cacher tous les avertissements, alors j'ai mis ça dans
pytest.ini
OriginalL'auteur Polv