2013-10-02 11 views
8

Sono a conoscenza di come eseguire una specifica classe di test con django: python manage.py test MyApp.MyTestClass.Ignora un test specifico utilizzando Django

Quello che mi piacerebbe fare è il contrario: esegui tutti i test tranne uno in particolare. A mio parere, questo sarebbe simile a questo: python manage.py test --ignore=MyApp.MyTestClass C'è un modo semplice per farlo?

MODIFICA: Un ulteriore vantaggio sarebbe di essere ancora in grado di eseguire il test manualmente (utilizzando il primo comando).

risposta

15

Il comando test non ha un'opzione di ignora incorporata.

Ma è possibile utilizzare il @skip o @skipIf decoratore nella classe che si desidera exlude: http://docs.python.org/2.7/library/unittest.html#unittest.skipIf

import unittest 

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

ho aggiunto un bisogno wich supplementare non è facilmente soddisfatto di questa soluzione (per quanto posso raccontare). – fxm

4

comando Prova non ha ignorare l'opzione di default. Puoi provare django-ignoretests. È possibile installarlo utilizzando

pip install django-ignoretests 

È possibile ignorare le app per la loro inclusione nel IGNORE_TESTS come sotto riportato:

IGNORE_TESTS = (
    # Apps to ignore. example : 'django.contrib.auth', 
) 
Problemi correlati