Как пропустить модульный тест в 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