2017-01-12 27 views
0

是否可以忽略缺少的分支覆蓋率?我正在使用jenkins進行測試覆蓋和pylint測試。有沒有可能增加缺少的聲明並獲得100%的分支機構覆蓋率?也許可以在項目設置中設置的屬性?如何在jenkins中忽略丟失的statemet測試覆蓋率django

+0

如果有沒有覆蓋的陳述,爲什麼你應該看到100%的覆蓋率? – jonrsharpe

+0

實際上,我想忽略生成的測試報告中的缺失行。這樣我就可以獲得〜100%的覆蓋率。 **在if-else塊中丟失** ** –

+0

但您沒有100%的覆蓋率。因爲你不覆蓋那條線。因此,編寫一個測試來覆蓋該行(或接受<100%的測試覆蓋率,這也很好)。 – jonrsharpe

回答

1

我找到了我的問題的解決方案。 1)在你的Django項目 2)創建.coveragerc文件在您的設置文件中定義

JENKINS_TASKS = ('django_jenkins.tasks.run_pylint',) 
COVERAGE_EXCLUDES_FOLDERS = ['packsit/migrations/*','packsit/api/v1/images.py'] 
COVERAGE_RCFILE = '.coveragerc' 

。 3).coveragerc文件應包含:

[run] 
branch = True 

omit = 
    */.local/* 
    /usr/* 
[report] 

exclude_lines = 
    pragma: no cover 
    def __repr__ 
    if self\.debug 
    raise AssertionError 
    raise NotImplementedError 
    if 0: 
    if __name__ == .__main__.: 
    return 
    try: 
    except: 
    if 
    self.* 


ignore_errors = True 
include = 
    packsit/api/v1/client/* 
[html] 
directory = coverage_html_report 

然後在終端中運行命令:

$ python manage.py jenkins --enable-coverage --coverage-format html --coverage-exclude=COVERAGE_EXCLUDES_FOLDERS 

這將排除 '如果迴歸,自我,嘗試,除了' 從報告生成。