Comment forcer le saut d'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 règle quelques détails.
Comment forcer le saut d'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 règle quelques détails.
Le module unittest de Python possède quelques décorateurs :
Il y a le bon 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, @skipIf
devrait fonctionner. Il suffit de le tromper pour qu'il saute toujours avec l'argument True
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Les docteurs sur l'omission des tests
Si vous cherchez simplement à ne pas exécuter certains fichiers de test, le meilleur moyen est probablement d'utiliser fab
ou un autre outil et exécuter des tests particuliers.
Django 1.10 permet l'utilisation de balises pour les tests unitaires. Vous pouvez alors utiliser le --exclude-tag=tag_name
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
" que vous exécuteriez :
$ ./manage.py test --exclude-tag=slow
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.