Как пропустить модульный тест в Django?
Как принудительно пропустить модульный тест в Django?
@skipif и @skipunless-это все, что я нашел, но я просто хочу пропустить тест прямо сейчас для целей отладки, пока я исправлю несколько вещей.
2 ответа:
модуль unittest Python имеет несколько декораторов:
есть старый добрый
@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
или другой инструмент и провести определенные тесты.
Django 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