[django] Django에서 단위 테스트를 어떻게 건너 뛰나요?

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():
    ...

unittest 문서

테스트 건너 뛰기에 관한 문서

단순히 특정 테스트 파일을 실행하지 않으려는 경우 가장 좋은 방법은 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


답변