Django'da bir birim testini zorla nasıl atlarsınız?
Bulduğum tek şey @skipif ve @skipunless, ancak birkaç şeyi düzeltirken şu anda hata ayıklama amacıyla bir testi atlamak istiyorum.
Django'da bir birim testini zorla nasıl atlarsınız?
Bulduğum tek şey @skipif ve @skipunless, ancak birkaç şeyi düzeltirken şu anda hata ayıklama amacıyla bir testi atlamak istiyorum.
Yanıtlar:
Python'un birim test modülünde birkaç dekoratör bulunur:
Düz eski var @skip
:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
Herhangi bir @skip
nedenle kullanamıyorsanız , @skipIf
çalışmalısınız. Her zaman argümanla atlamak için kandırın True
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Testlerin atlanmasına ilişkin belgeler
Belirli test dosyalarını çalıştırmak istemiyorsanız, en iyi yol muhtemelen fab
veya başka bir aracı kullanmak ve belirli testleri çalıştırmaktır.
@skip
mısınız?
Django 1.10 , birim testleri için etiket kullanımına izin verir . Ardından, --exclude-tag=tag_name
belirli etiketleri hariç tutmak için bayrağı kullanabilirsiniz :
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):
...
Yukarıdaki örnekte, testlerinizi " slow
" etiketiyle hariç tutmak için çalıştırmanız gerekir:
$ ./manage.py test --exclude-tag=slow
--exclude-tag
, örneğin, --include-tag
ancak bu komut yok.