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 @skip
pour une raison quelconque, cela @skipIf
devrait 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 fab
un 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_name
indicateur 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 slow
balise " ", exécutez:
$ ./manage.py test --exclude-tag=slow
--exclude-tag
, par exemple, --include-tag
mais cette commande est inexistante.