Как принудительно пропустить модульный тест в Django?
@skipif и @skipunless - это все, что я нашел, но я просто хочу пропустить тест прямо сейчас для целей отладки, пока я кое-что исправлю.
Как принудительно пропустить модульный тест в Django?
@skipif и @skipunless - это все, что я нашел, но я просто хочу пропустить тест прямо сейчас для целей отладки, пока я кое-что исправлю.
В модуле 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
или другой инструмент и запускать определенные тесты.
@skip
?
- person Kal; 04.10.2018
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
--exclude-tag
, например --include-tag
, но этой команды не существует.
- person JohnnyQ; 07.10.2019