2014-02-24 81 views
3

我有一個setup.py,它通過常見的test_suite: "tests"設置運行測試。什麼是從這裏產生覆蓋面的最佳方式?我想通過覆蓋工具運行setup.py,它會在其覆蓋率報告中包含setup.py文件?如何從setup.py生成覆蓋範圍

我在我的測試/ init .py中有一個load_tests掛鉤,我認爲這將是一個很好的啓用覆蓋的地方,但即使這樣也爲時過早,因爲它會在測試之前開始覆蓋。然後是setUpClass函數,但是這涉及修改每個單獨的測試,以包含另一個模塊來啓動和停止來自這裏的覆蓋。這一切似乎相當笨拙。

+2

Erm,python coverage.py setup.py'怎麼了? –

+0

這不會產生setup.py和setuptools模塊的覆蓋率嗎? – Craig

+0

不,它_應該爲它使用的所有文件生成結果,你到目前爲止嘗試過嗎? –

回答

1

只需要在報告生成時間,而不是在運行時應用過濾器像舷窗的作用:

coverage run ./setup.py test 
coverage html --include=libgsync/\* 
2

這將只爲你想要的模塊報告的覆蓋範圍,假設你有一個Python模塊「我的模塊「與您所有的.py文件和其他模塊:

coverage run --source=my_module/ setup.py test