Как пропустить модульный тест в Django?
Как принудительно пропустить модульный тест в Django?
@skipif и @skipunless-это все, что я нашел, но я просто хочу пропустить тест прямо сейчас для целей отладки, пока я получу несколько вещей.
2 ответов
модуль Python unittest имеет несколько декораторов:
есть старая добрая @skip
:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
если вы не можете использовать @skip
по какой причине @skipIf
должны работать. Просто обманите его, чтобы всегда пропускать аргумент True
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
если вы хотите просто не запускать определенные тестовые файлы, лучший способ, вероятно, использовать fab
или другой инструмент и провести определенные тесты.
Джанго 1.10 позволяет использовать теги для модульных тестов. Затем вы можете использовать --exclude-tag=tag_name
флаг для исключения определенных тегов:
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):
...
В приведенном выше примере, чтобы исключить тесты с "slow
" тег, который вы бы запустить:
$ ./manage.py test --exclude-tag=slow