1
我試圖實現100%的覆蓋率。pytest-cov缺少類聲明的測試覆蓋率
我有文件(應用程序/ ifaces.py):
import netifaces
class NoIPException(Exception):
pass
def get_local_ips():
...(code here)
和我有測試:
import pytest
import mock
import netifaces
from app import ifaces
def test_get_local_ips_normal_case():
....
當我運行手動測試:
py.test -v - -cov app --cov-report term-missing
它報告100%的代碼覆蓋率: app/ifaces 16 0 100%
,但是當我將其添加爲「自運行」的測試,它報告說,前六行不包括:
if __name__ == "__main__":
import sys
pytest.main("-v %s --cov app/ifaces.py --cov-report term-missing" % sys.argv[0])
報告:
Name Stmts Miss Cover Missing
--------------------------------------------
app/ifaces 16 4 75% 1-6
我怎樣才能添加自運行測試以獲得與手動py.test執行相同的結果?結果有什麼區別?爲什麼app/ifaces.py中的6行報告爲第二種情況未涉及?
謝謝。