2013-09-02 11 views
5

Sto cercando di utilizzare la copertura con Django, ma sembra che stia ottenendo risultati errati. La mia app si chiama "stats" e non ho questo test:perché la copertura di Python dice che mancano le linee?

class ListSchoolsTest(TestCase): 
    def test_initial_list(self): 
     self.client.login(username='skeezy', password='skeezy') 
     resp = self.client.get("/stats/list_schools/") 
     self.assertEqual(resp.status_code, 200) 

Nella riga di comando, ho eseguito:

coverage run --source="." manage.py test stats 

E il test viene superato. Tutti i miei punti di vista sono attualmente in statistiche/views.py

Ma quando corro "rapporto di copertura", ottengo questa linea:

Name     Stmts Miss Cover 
---------------------------------------- 
<snip> 
stats/views   110 110  0% 

Qualsiasi idea di quello che sono (non) fare che causerebbe la copertura a segnala tutte le righe perse in stats/views.py, anche se dovrebbe essere colpito per poter passare il test? (proprio come una cintura-e-bretelle, ho messo una stampa a mio avviso, ed è sicuramente colpito.)

+0

Ho lo stesso problema. In Windows la copertura funziona correttamente, ma quando invio a Travis tutte le istruzioni non presenti nel test stesso vengono perse. – BoppreH

risposta

0

Forse hai installato la tua app senza la bandiera -e? Quindi i moduli non vengono importati dalla directory del progetto, ma il percorso su cui sono stati installati e copertura pensa che si tratti di file diversi.