2012-03-30 73 views
4

我試圖運行一個pytestger來運行coveragerc文件。我的.coveragerc文件中的設置沒有被使用,所以我猜這個文件根本沒有被使用。.coveragerc運行py.test時的文件位置

請看下面我的項目結構和pytest調用!我究竟做錯了什麼?

項目:

basepath/lib/ 
basepath/.coveragerc 
basepath/test/test_lib 
basepath/test/run.py 

我打電話測試/ run.py從virtualenv中

basepath$ python test/run.py 

run.py

import pytest 
pytest.main('test/test_lib -v --cov-report xml --cov lib --cov-config .coveragerc') 

我試圖在不同的目錄,即LIB移動.coveragerc /,test /,test/test_lib /但他們都沒有工作。

我希望得到一個名爲「xxxcoverage」覆蓋文件,如.coveragerc設置,但我總是得到一個默認.coverage

.coveragerc

[run] 
data_file = xxxcoverage 

回答

2

一遍又一遍讀pytest文檔。 ..我發現我的「錯誤」。在http://pypi.python.org/pypi/pytest-cov它說:

請注意,這個插件控制一些選項,並在配置文件中設置選項將不起作用。這些包括指定要測量的源(源選項)和所有數據文件處理(data_file和並行選項)。

所以我的測試沒用,因爲.coveragerc中的data_file選項沒有效果。

我使用omit選項進行了測試,它工作正常!

.coveragerc必須如上所述放置在基路徑中(和預期的)