Bagaimana secara paksa melewati pengujian unit di Django?
@skipif dan @skipunless adalah semua yang saya temukan, tetapi saya hanya ingin melewatkan pengujian sekarang untuk keperluan debugging sementara saya membereskan beberapa hal.
Bagaimana secara paksa melewati pengujian unit di Django?
@skipif dan @skipunless adalah semua yang saya temukan, tetapi saya hanya ingin melewatkan pengujian sekarang untuk keperluan debugging sementara saya membereskan beberapa hal.
Jawaban:
Modul ter-unittest Python memiliki beberapa dekorator:
Ada tua biasa @skip
:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
Jika Anda tidak dapat menggunakan @skip
karena alasan tertentu, @skipIf
harus bekerja. Trik saja untuk selalu melewati dengan argumen True
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Dokumen tentang melewatkan tes
Jika Anda tidak ingin menjalankan file pengujian tertentu, cara terbaik mungkin adalah menggunakan fab
atau alat lain dan menjalankan pengujian tertentu.
@skip
?
Django 1.10 mengizinkan penggunaan tag untuk pengujian unit. Anda kemudian dapat menggunakan --exclude-tag=tag_name
bendera tersebut untuk mengecualikan tag tertentu:
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):
...
Pada contoh di atas, untuk mengecualikan pengujian Anda dengan slow
tag " ", Anda akan menjalankan:
$ ./manage.py test --exclude-tag=slow
--exclude-tag
, misalnya --include-tag
tetapi perintah ini tidak ada.