2012-09-13 20 views
12

Sto commutazione dal quadro unittest del pitone a nosetests, cercando di riutilizzare il mio unittest.TestCase sPerché i nosetests non trovano nulla?

Dopo cd ing nel mio pacchetto di test ho iniziato nosetests as described on their homepage:

./test/$ nosetests 

---------------------------------------------------------------------- 
Ran 0 tests in 0.000s 

OK 

Perché è necessario specificare ogni modulo avere il naso scoprire i suoi test come nell'esempio seguente?

./test/$ nosetests test_all.py 
....... 
---------------------------------------------------------------------- 
Ran 7 tests in 0.002s 

OK 

Anche eseguendo i test una cartella sopra non cambia nulla.

./tests/$ cd .. 
./$ nosetests 

---------------------------------------------------------------------- 
Ran 0 tests in 0.000s 

OK 
+0

Ho rimosso il collegamento al repository, poiché le domande dovrebbero generalmente essere autonome. Sentiti libero di modificare più informazioni se ritieni che sia necessario. Saluti. – Julian

+0

Lascio [qui per le persone che vogliono dare un'occhiata] (https://github.com/DFE/night-owl/tree/start_nosetests/test) – erikbwork

risposta

13

Riesco a vedere nel repository che almeno alcuni dei file sono eseguibili, quindi questa è almeno una parte del problema. Di default, nose non li raccoglie: sta cercando di evitare l'esecuzione di script che potrebbero fare qualcosa di distruttivo durante l'importazione. Prova il flag --exe, o rimuovendo il bit eseguibile dai file di test.

1

È necessario essere nella directory in alto che se si desidera eseguire il naso tutti i test in tale pacchetto.

+0

Ho anche provato che senza successo, vedere la domanda posta modificata – erikbwork

1

Nel mio caso avevo seguente riga alla fine del file di test:

unittest.main() 

La rimozione di questo da tutti i miei test risolto il mio problema.

+0

Guarda la soluzione marcata. Non lo dice esplicitamente, ma ciò che significa. – erikbwork