2009-10-13 13 views
28

Come escludere interi file dai report coverage.py?coverage.py: escludi file

In base alla documentazione è possibile escludere il codice tramite linee corrispondenti. Voglio escludere interi file, in modo che i report non includano le librerie di terze parti. Mi sto perdendo qualcosa? Può essere fatto?

+0

Se nessun altro si dà una risposta, Ned sarà probabilmente intorno presto per chiarire le cose - è un normale qui intorno :) –

+5

I don so se è una buona cosa che io sia così prevedibile! :) –

risposta

41

È possibile omettere i moduli con il flag --omit. Prende un elenco separato da virgola di prefissi di percorso. Così, per esempio:

coverage run my_program.py 
coverage report --omit=path/to/3rdparty 
+0

grazie Ned. Come posso farlo usando l'API? – flybywire

+0

Nell'API, si fornisce un elenco di moduli su cui si desidera eseguire il report, quindi non c'è un controllo molto comodo lì. –

+2

@NedBatchelder Questo non funziona per me, vedere http://pastebin.com/YFg3fbmW. Ho 'coverage.py, versione 3.5.2. http: // nedbatchelder.com/code/coverage'. Sai cosa sto facendo di sbagliato? –

10

Tralasciando alcuni file lavorato per me usando la copertura API. Beh, è ​​lo stesso tipo di quello che suggeriva Ned.

Ecco come ho fatto:

cov = coverage.coverage(omit='/usr/lib/python2.6/site-packages/*')