2009-04-02 7 views
32

Io uso nosetests per eseguire le mie attività di attivazione e funziona bene. Voglio ottenere un elenco di tutti i test trovati nostests senza eseguirli effettivamente. C'è un modo per farlo?Elenca tutti i test trovati da Nosetest

risposta

41

La versione 0.11.1 è attualmente disponibile. È possibile ottenere un elenco di test senza di loro esecuzione come segue:

nosetests -v --collect-only 
+3

Vedere ['-vv'] (http://stackoverflow.com/a/3448487/232794) come opzione migliore di' -v'. – Sardathrion

+0

'nosetests -v --collect-only | grep 'some-string'' non funziona. Qualche idea del perché? –

+0

@EyalLevin Mi sono imbattuto nella stessa cosa. L'output va a stderr, quindi devi fare 'nosetests -v --collect-only 2> & 1>/dev/null | grep 'some-string'' – sihrc

3

Ci sarà presto: un nuovo switch di raccolta che produce questo comportamento è stato demoato a PyCon la scorsa settimana. Dovrebbe essere sul tronco "presto" e sarà nella versione 0.11.

L'elenco di http://groups.google.com/group/nose-users è un'ottima risorsa per le domande relative al naso.

15

mi consiglia di utilizzare:

nosetests -vv --collect-only 

Mentre l'opzione -vv non è descritto in man nosetests, "An Extended Introduction to the nose Unit Testing Framework" afferma che:

L'uso della flag -vv fornisce un output dettagliato dall'algoritmo di discovery del test di nose. Questo ti dirà se il naso sta cercando o meno nel posto giusto (s) per trovare i tuoi test.

L'opzione -vv consente di risparmiare tempo quando si cerca di determinare perché nosetests sta solo trovando alcuni dei test. (Nel mio caso, è stato perché nosetests saltati alcuni test perché le .py script erano eseguibile.)

Linea di fondo è che l'opzione -vv è incredibilmente a portata di mano, e ho quasi sempre usarlo anziché l'opzione -v.