GoGPT Best VPN GoSearch

Icône de favori OnWorks

py.test – En ligne dans le Cloud

Exécutez py.test dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande py.test qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos nombreux postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


pytest - utilisation de pytest

APPEL PY.TEST PAR PYTHON -M PY.TEST


Nouveau dans la version 2.0.

Si vous utilisez Python-2.5 ou une version ultérieure, vous pouvez appeler des tests via l'interpréteur Python à partir de
la ligne de commande :

python -m pytest [...]

Cela équivaut à invoquer le script de ligne de commande py.test [...] .

OBTENIR AIDE ON VERSION, OPTION NOMS, ENVIRONNEMENT VARIABLES


py.test --version # montre d'où pytest a été importé
py.test --fixtures # affiche les arguments de fonction intégrés disponibles
py.test -h | --help # affiche l'aide sur la ligne de commande et les options du fichier de configuration

ARRÊT APRÈS THE PREMIERE (OU N) LES ÉCHECS


Pour arrêter le processus de test après les premiers (N) échecs :

py.test -x # arrête après le premier échec
py.test --maxfail=2 # arrêt après deux échecs

EN PRÉCISANT ESSAIS / CHOIX ESSAIS


Plusieurs options d'exécution de test :

py.test test_mod.py # exécuter des tests dans le module
py.test somepath # exécuter tous les tests ci-dessous somepath
py.test -k stringexpr # n'exécute que les tests avec des noms qui correspondent au
# "expression de chaîne", par exemple "MaClasse et non une méthode"
# sélectionnera TestMyClass.test_something
# mais pas TestMyClass.test_method_simple
py.test test_mod.py::test_func # n'exécute que les tests qui correspondent au "node ID",
# par exemple "test_mod.py::test_func" sélectionnera
# uniquement test_func dans test_mod.py
py.test test_mod.py::TestClass::test_method # exécute une seule méthode dans
# une seule classe

Importez « pkg » et utilisez son emplacement dans le système de fichiers pour rechercher et exécuter des tests :

py.test --pyargs pkg # exécute tous les tests trouvés sous le répertoire de pypkg

MODIFICATION PYTHON TRAÇAGE IMPRESSION


Exemples de modification de l'impression de traçabilité :

py.test --showlocals # affiche les variables locales dans les traces
py.test -l # affiche les variables locales (raccourci)

py.test --tb=long # le formatage informatif par défaut du retraçage
py.test --tb=native # le formatage de la bibliothèque standard Python
py.test --tb=short # un format de trace plus court
py.test --tb=line # une seule ligne par échec

GOUTTE À APB (PYTHON DÉBOGEUR) ON LES ÉCHECS


Python est livré avec un débogueur Python intégré appelé APB. question permet de tomber dans
le APB invite via une option de ligne de commande :

py.test --pdb

Cela invoquera le débogueur Python à chaque échec. Souvent, vous voudrez peut-être seulement faire
ceci pour le premier test d'échec pour comprendre une certaine situation d'échec :

py.test -x --pdb # déposer dans PDB lors du premier échec, puis terminer la session de test
py.test --pdb --maxfail=3 # passer à PDB pour les trois premiers échecs

Notez qu'en cas d'échec, les informations d'exception sont stockées sur sys.dernière_valeur,
sys.last_type et sys.last_traceback. En utilisation interactive, cela permet de tomber dans
débogage post-mortem avec n'importe quel outil de débogage. On peut aussi accéder manuellement à l'exception
informations, par exemple :

>>> importer le système
>>> sys.last_traceback.tb_lineno
42
>>> sys.last_value
AssertionError('assert result == "ok"',)

RÉGLAGE A POINT DE RUPTURE / AKA SET_TRACE()


Si vous souhaitez définir un point d'arrêt et entrer le pdb.set_trace() vous pouvez utiliser un assistant :

importer pytest
def test_function() :
...
pytest.set_trace() # invoque le débogueur et le traçage PDB

Avant pytest version 2.0.0, vous ne pouviez entrer que APB traçage si vous avez désactivé la capture
en ligne de commande via py.test -s. Dans les versions ultérieures, pytest désactive automatiquement son
capture de sortie lorsque vous entrez APB tracé:

· La capture de sortie dans d'autres tests n'est pas affectée.

· Toute sortie de test précédente qui a déjà été capturée et sera traitée comme telle.

· Toute sortie ultérieure produite dans le même test ne sera pas capturée et obtiendra à la place
envoyé directement à sys.stdout. Notez que cela reste vrai même pour la sortie de test se produisant
après avoir quitté l'interactif APB session de traçage et continuer avec le test régulier
fonctionner.

Depuis pytest version 2.4.0, vous pouvez également utiliser le Python natif importer pdb;pdb.set_trace()
appeler pour entrer APB traçage sans avoir à utiliser le pytest.set_trace() emballage ou
désactiver explicitement la capture de sortie de pytest via py.test -s.

PROFILAGE TEST EXÉCUTION DURÉE


Pour obtenir une liste des 10 durées de test les plus lentes :

py.test --durations=10

CRÉATEUR JUNITXML Format DES DOSSIERS


Pour créer des fichiers de résultats qui peuvent être lus par Hudson ou autre Intégration continue
serveurs, utilisez cette invocation :

py.test --junitxml=chemin

pour créer un fichier XML à chemin.

record_xml_property
Nouveau dans la version 2.8.

Si vous souhaitez enregistrer des informations supplémentaires pour un test, vous pouvez utiliser le record_xml_property
fixation:

def test_function (record_xml_property) :
record_xml_property("example_key", 1)
affirmer 0

Cela ajoutera une propriété supplémentaire example_key="1" au généré cas de test tag:







AVERTISSEMENT:
Il s'agit d'une fonctionnalité expérimentale, et son interface pourrait être remplacée par quelque chose de plus
puissant et général dans les futures versions. La fonctionnalité proprement dite sera conservée,
cependant.

Actuellement, il ne fonctionne pas lorsqu'il est utilisé avec le pytest-xdist plugin.

Veuillez également noter que l'utilisation de cette fonctionnalité interrompra toute vérification de schéma. Cette
peut être un problème lorsqu'il est utilisé avec certains serveurs CI.

CRÉATEUR JOURNAL DES RÉSULTATS Format DES DOSSIERS


Pour créer des fichiers de résultats lisibles par machine en texte brut, vous pouvez exécuter :

py.test --resultlog=chemin

et regardez le contenu au chemin emplacement. De tels fichiers sont utilisés par exemple par le Test PyPy
page Web pour afficher les résultats des tests sur plusieurs révisions.

ENVOI TEST RAPPORT À VIRTUEL COLLIER SUR-MESURE


La création a URL pour chacun tester échec:

py.test --pastebin=échec

Cela soumettra des informations d'exécution de test à un service de collage distant et fournira une URL pour chaque
échec. Vous pouvez sélectionner des tests comme d'habitude ou ajouter par exemple -x si vous ne voulez en envoyer qu'un
défaillance particulière.

La création a URL pour a la totalité tester Session enregistrer:

py.test --pastebin=tout

Pour le moment, coller uniquement sur le http://bpaste.net service est mis en œuvre.

DÉSACTIVATION PLUGINS


Pour désactiver le chargement de plugins spécifiques au moment de l'appel, utilisez le -p option avec
le préfixe non:.

Exemple : pour désactiver le chargement du plugin docteur, qui est chargé d'exécuter doctest
tests à partir de fichiers texte, appelez py.test comme ceci :

py.test -p non :doctest

APPEL PY.TEST De PYTHON CODE


Nouveau dans la version 2.0.

Vous pouvez invoquer question à partir du code Python directement :

pytest.main()

cela agit comme si vous appeliez "py.test" à partir de la ligne de commande. ça n'augmentera pas
SystemExit mais renvoyez le code de sortie à la place. Vous pouvez passer des options et des arguments :

pytest.main(['-x', 'mytestdir'])

ou passez une chaîne :

pytest.main("-x mytestdir")

Vous pouvez spécifier des plugins supplémentaires pour pytest.main:

# contenu de myinvoke.py
importer pytest
classe MonPlugin :
def pytest_sessionfinish(self):
print("*** test de fin de rapport d'exécution")

pytest.main("-qq", plugins=[MonPlugin()])

L'exécuter montrera que MonPlugin a été ajouté et son hook a été invoqué :

$ python moninvoke.py
*** test de fin de rapport

Utilisez py.test en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.