Comment ignorer de force un test unitaire dans Django?
@skipif et @skipunless sont tout ce que j'ai trouvé, mais je veux juste sauter un test en ce moment à des fins de débogage pendant que j'obtiens quelques choses redressées.
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 certaines raisons, @skipIf
devrait marcher. Il suffit de le tromper pour toujours sauter avec l'argument True
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Documents sur les sauts de tests
Si vous cherchez simplement à ne pas exécuter certains fichiers de test, la meilleure façon est probablement d'utiliser fab
ou un autre outil et d'exécuter des tests particuliers.
Django 1.10 permet l'utilisation de balises pour les tests unitaires. Vous pouvez ensuite utiliser le --exclude-tag=tag_name
drapeau 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 balise "slow
", vous devez exécuter:
$ ./manage.py test --exclude-tag=slow