web-dev-qa-db-fra.com

Exécutez une fonction de test unitaire spécifique dans PyCharm IDE 5.0.4

J'essaie d'utiliser PyCharm pour les tests unitaires (avec unittest), et je suis capable de le faire fonctionner: le lanceur de test montre bien la liste des cas de test et des fonctions de test imbriquées.

Cependant, une fois les tests découverts, je ne trouve aucun moyen de (ré) exécuter une fonction de test spécifique: le seul bouton disponible exécutera toute la liste des tests, et un clic droit sur une seule fonction de test n'affiche aucun sens à cet effet.

enter image description here

Comme vous pouvez l'imaginer, cela peut prendre du temps inutilement lorsque le but est de déboguer un seul test.

Comment y parvenir? C'est possible dans Visual Studio par exemple, et cela semble être une fonctionnalité de base, donc je suppose que je dois manquer quelque chose.

22
Erwin Mayer

Vérifiez le cadre de test par défaut du projet ...

Vous êtes peut-être habitué à ce que "par défaut" soit la valeur par défaut. Cela me permet de placer le curseur sur la définition du test et d'appuyer sur "SHIFT-CTRL-R" pour exécuter ce test.

La valeur par défaut semble avoir changé en "py.test" qui a un comportement et des raccourcis clavier différents. Je suis sur OSX donc ymmv.

Inhumé à:

Préférences -> Outils -> Python Outils intégrés -> "Runner de test par défaut:"

enter image description here

9
John Mee

Avec les versions récentes de PyCharm, la disponibilité de l'option "clic droit" semble intermittente.

Un remplacement consiste à aller à Edit Configurations... et saisissez vous-même le nom de la classe et de la méthode. Cela a bien fonctionné pour moi, même si ce n'est pas aussi pratique

7
Maximilian

Sous pycharm 2017.2.3:

l'étape clé:

  1. changez la default test runner(unittests) en (nosetests ou py.test), les deux sont bons.
  2. alors le IDE peut exécuter un seul test function maintenant.
  3. suivez les étapes des captures d'écran ci-dessous.

1. modifiez les paramètres:

enter image description here

2. exécuter la fonction de test unique:

enter image description here

enter image description here

3. exécutez toutes les fonctions de test:

enter image description here

enter image description here

3
HuanHuang

Dans Pycharm 2018.1: redémarrez, supprimez les configurations d'exécution existantes - un clic droit soudain fournit une option pour exécuter un seul test. : - /

3
user48956

Avez-vous essayé de cliquer avec le bouton droit sur le test dans la classe actuelle? Il devrait être possible d'exécuter le test unique à partir de là. Je suggère une réinstallation si ce n'est pas disponible.

3

Veuillez vérifier si vous avez le même nom de test répété à deux endroits ou plus dans le montage de test. J'ai eu le même problème et la résolution des conflits de nommage m'a permis de faire un clic droit sur le nom du test et de l'exécuter individuellement.

1
Sampath

J'ai eu ce problème avec PyCharm 2018.3.

Cela semblait être dû au fait que j'avais un point d'arrêt dans un endroit étrange (lors de la déclaration de fonction, plutôt qu'à l'intérieur de la fonction).

L'effacement de tous les points d'arrêt semblait restaurer la capacité de déboguer des tests individuels

0
slashdottir