Jak na siłę pominąć test jednostkowy w Django?
@skipif i @skipunless to wszystko, co znalazłem, ale chcę teraz tylko pominąć test do celów debugowania, podczas gdy kilka rzeczy zostanie wyjaśnionych.
Jak na siłę pominąć test jednostkowy w Django?
@skipif i @skipunless to wszystko, co znalazłem, ale chcę teraz tylko pominąć test do celów debugowania, podczas gdy kilka rzeczy zostanie wyjaśnionych.
Odpowiedzi:
Moduł unittest w Pythonie ma kilka dekoratorów:
Jest zwykły stary @skip:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
Jeśli @skipz jakiegoś powodu nie możesz użyć , @skipIfpowinno działać. Po prostu oszukuj, aby zawsze przeskakiwać z argumentem True:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Jeśli nie chcesz po prostu uruchamiać niektórych plików testowych, najlepszym sposobem jest prawdopodobnie użycie fablub innego narzędzia i uruchomienie określonych testów.
@skipmożesz używać ?
Django 1.10 pozwala na używanie tagów do testów jednostkowych. Następnie możesz użyć --exclude-tag=tag_nameflagi, aby wykluczyć określone tagi:
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):
...
W powyższym przykładzie, aby wykluczyć testy za pomocą slowtagu „ ”, należy:
$ ./manage.py test --exclude-tag=slow
--exclude-tagnp. --include-tagAle to polecenie nie istnieje.