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.
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.
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:"
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
default test runner(unittests)
en (nosetests
ou py.test
), les deux sont bons.test function
maintenant.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. : - /
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.
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.
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