2016-06-09 11 views
18

Ho usato il seguente comando per eseguire test e valutare la copertura del codice per un progetto Python da oltre un anno.Python nosetests con copertura non mostra più righe mancanti

nosetests -v --with-coverage --cover-package=genhub genhub/*.py 

Il rapporto di copertura utilizzato per includere una colonna sulle mostrano estrema destra le linee di copertura mancanti.

Name     Stmts Miss Branch BrPart Cover Missing 
---------------------------------------------------------------- 
genhub/cdhit.py   50  0  8  0 100% 
genhub/exons.py   85  69  8  0 17% 24-40, 48-56, 60-79, 87-107, 129-132, 138-141, 147-150 
genhub/fasta.py   76  0  26  0 100% 
genhub/genomedb.py  205 153  48  0 21% 40-43, 53-60, 64-65, 70, 74, 82, 86, 90, 98-99, 103-104, 108-109, 113-114, 118-119, 123-124, 128-129, 143-144, 152-154, 158-160, 164-166, 175, 180, 240-280, 289, 292, 295, 308-317, 323-330, 351-377, 380-386, 396-413, 419-430, 436-443, 449-456 
genhub/iloci.py  112  91  8  0 18% 30-46, 54-64, 73-90, 102-118, 127-142, 165-173, 179-183, 189-193, 199-207, 213-225 
genhub/mrnas.py  121 108  24  0  9% 30-63, 79-105, 118-158, 178-197, 203-226 
genhub/pdom.py   95  68  24  0 23% 31-32, 35, 39, 43, 47, 50-53, 56-59, 62-64, 67-72, 75-106, 116-119, 126-128, 134-141, 148-156 
genhub/proteins.py  20  13  2  0 32% 43-53, 94-97 
genhub/refseq.py  237 195  44  0 15% 30-46, 49, 53, 57, 61, 65, 69, 73, 76-86, 89-115, 118-127, 130-178, 189-211, 217-226, 232-242, 248-265, 271-288, 294-297, 303-310, 317-326, 333-374, 380-387 
genhub/registry.py  126  90  32  2 24% 48-56, 59-64, 67-69, 72-77, 81-83, 92-94, 103-109, 112-113, 116-117, 142-168, 174-188, 194-201, 207-216, 40->44, 44->48 
genhub/stats.py   3  0  0  0 100% 
genhub/tair.py   128  97  22  0 21% 32-42, 45, 49, 53, 57, 61, 65, 69, 73, 76-79, 82-104, 110-119, 122-154, 165-180, 186-189, 195-203, 210-221 
---------------------------------------------------------------- 
TOTAL     1258 884 246  2 27% 
---------------------------------------------------------------------- 
Ran 46 tests in 0.033s 

FAILED (errors=41) 

Tuttavia, la colonna Missing non mostra più per me (naso versione 1.3.7, coverage.py versione 4.1).

Sono consapevole che il naso non è più supportato. Questo cambiamento è correlato a questo, o qualcosa in coverage.py, o entrambi?

+0

Vedi l'** Nota ** qui: https://nose.readthedocs.io/en/latest/plugins/cover.html. Qual è stata la precedente versione "funzionante" che hai usato? –

+0

@busfault So che funzionava con coverage.py 4.0.3. –

+0

Ho lo stesso problema. Avevo 'coverage == 3.7.1' e' nose == 1.3.7' e i numeri di linea stavano mostrando. 'coverage == 4.1' li ha rimossi. Tempo per me di tornare. Si prega di fare un problema nel loro repo https://bitbucket.org/ned/coveragepy/issues/new – KFunk

risposta

31

In coverage.py 4.1, ho risolto un problema con l'API coverage.py che impostava due parametri su valori diversi da Nessuno. Uno di questi era show_missing.

Il modo migliore per risolvere questo problema nel vostro progetto è quello di impostare show_missing nel file .coveragerc:

# .coveragerc 
[report] 
show_missing = True 
+1

C'è un modo conveniente per impostare show_missing nel comando nose piuttosto che aver bisogno di .coveragerc? – Tasha

1

Non c'è bisogno di tornare alla 3.7.1 Si può solo downgrade a 4.0.0

2

Oltre ad avere un file di configurazione per impostare show_missing è anche possibile utilizzare la copertura set_option per definirlo.

cov.set_option('report:show_missing', True) 

devo problema con ottenere la copertura corretta per models.py, ho risolto in base alla this.

Quindi aggiungo le righe precedenti per mostrare la linea mancante. Quindi il mio manage.py hanno una parte in questo modo:

if is_testing: 
    import coverage 
    cov = coverage.coverage(source=['blog'], omit=['*/tests/*']) 
    cov.set_option('report:show_missing', True) #add this 
    cov.erase() 
    cov.start() 
Problemi correlati