Comment sauter de force un test unitaire dans Django?
@skipif et @skipunless sont tout ce que j'ai trouvé, mais je veux juste sauter un test pour le moment à des fins de débogage pendant que je rectifie certaines choses.
Comment sauter de force un test unitaire dans Django?
@skipif et @skipunless sont tout ce que j'ai trouvé, mais je veux juste sauter un test pour le moment à des fins de débogage pendant que je rectifie certaines choses.
Réponses:
Le module unittest de Python a quelques décorateurs:
Il y a du vieux @skip:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
Si vous ne pouvez pas utiliser @skippour une raison quelconque, cela @skipIfdevrait fonctionner. Trompez-le simplement pour toujours sauter avec l'argument True:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Documents sur le saut de tests
Si vous cherchez simplement à ne pas exécuter certains fichiers de test, le meilleur moyen est probablement d'utiliser fabun autre outil et d'exécuter des tests particuliers.
@skip?
Django 1.10 permet l'utilisation de balises pour les tests unitaires. Vous pouvez ensuite utiliser l' --exclude-tag=tag_nameindicateur pour exclure certaines balises:
from django.test import tag
class SampleTestCase(TestCase):
@tag('fast')
def test_fast(self):
...
@tag('slow')
def test_slow(self):
...
@tag('slow', 'core')
def test_slow_but_core(self):
...
Dans l'exemple ci-dessus, pour exclure vos tests avec la slowbalise " ", exécutez:
$ ./manage.py test --exclude-tag=slow
--exclude-tag, par exemple, --include-tagmais cette commande est inexistante.