2013-10-02 11 views
8

Jestem świadomy, jak uruchomić określoną klasę testową z django: python manage.py test MyApp.MyTestClass.Zignoruj ​​konkretny test używając Django

Co chciałbym zrobić, to odwrotnie: uruchomić wszystkie testy, z wyjątkiem jednego w szczególności. Moim zdaniem wyglądałoby to tak: python manage.py test --ignore=MyApp.MyTestClass Czy istnieje prosty sposób na zrobienie tego?

EDYCJA: Dodatkowym atutem byłoby nadal móc uruchomić test ręcznie (przy użyciu pierwszego polecenia).

Odpowiedz

15

Polecenie test nie ma wbudowanej opcji ignorowania.

Ale można użyć dekorator @skip lub @skipIf w klasie, który chcesz exlude: http://docs.python.org/2.7/library/unittest.html#unittest.skipIf

import unittest 

@unittest.skip("skip the test") 
class MyTestClass(TestCase): 
... 
+0

dodałem dodatkowe zapotrzebowanie wich nie jest łatwo zadowoleni z tego rozwiązania (o ile mogę powiedzieć). – fxm

4

komenda test nie ma ignorować opcję domyślnie. Możesz spróbować django-ignoretests. Można go zainstalować używając

pip install django-ignoretests 

można ignorować aplikacje poprzez włączenie ich w IGNORE_TESTS jak podano poniżej:

IGNORE_TESTS = (
    # Apps to ignore. example : 'django.contrib.auth', 
) 
Powiązane problemy