Como pular forçosamente um teste de unidade no Django?
@skipif e @skipunless foi tudo o que encontrei, mas só quero pular um teste agora para fins de depuração, enquanto ajeito algumas coisas.
Como pular forçosamente um teste de unidade no Django?
@skipif e @skipunless foi tudo o que encontrei, mas só quero pular um teste agora para fins de depuração, enquanto ajeito algumas coisas.
Respostas:
O módulo de teste de unidade do Python tem alguns decoradores:
É bem velho @skip
:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
Se você não puder usar @skip
por algum motivo, @skipIf
deve funcionar. Basta enganá-lo para sempre pular com o argumento True
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Se você deseja simplesmente não executar determinados arquivos de teste, a melhor maneira é provavelmente usar fab
outra ferramenta e executar testes específicos.
@skip
?
Django 1.10 permite o uso de tags para testes de unidade. Você pode então usar o --exclude-tag=tag_name
sinalizador para excluir certas tags:
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):
...
No exemplo acima, para excluir seus testes com a slow
tag " ", você executaria:
$ ./manage.py test --exclude-tag=slow
--exclude-tag
, por exemplo, --include-tag
mas este comando não existe.