2009-10-13 85 views
28

如何從coverage.py報告中排除整個文件?coverage.py:排除文件

根據文檔,您可以通過匹配行來排除代碼。我想排除整個文件,以便報告不包含第三方庫。我錯過了什麼嗎?可以做到嗎?

+0

如果別人給你一個答案,斯內德很可能是周圍很快就澄清一些事情 - 他是一個普通的在這裏:) – 2009-10-13 10:51:20

+5

我不不知道我是如此的可預測是件好事! :) – 2009-10-13 11:29:18

回答

41

您可以使用--omit標誌省略模塊。它採用逗號分隔的路徑前綴列表。因此,例如:

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

謝謝內德。我怎樣才能使用API​​? – flybywire 2009-10-13 12:46:58

+0

在API中,您提供了要報告的模塊列表,因此在那裏沒有太多方便的控制。 – 2009-10-13 14:19:34

+2

@NedBatchelder這對我不起作用,請參閱http://pastebin.com/YFg3fbmW。我有'coverage.py,版本3.5.2。 HTTP:// nedbatchelder.com /代碼/ coverage'。你知道我做錯了什麼嗎? – 2012-07-23 20:45:30

10

忽略某些使用覆蓋API的文件。那麼Ned建議的是同樣的一種。

這是我做的:

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