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
또는 다른 도구 를 사용 하고 특정 테스트를 실행하는 것입니다.
답변
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