2016-12-17 67 views
1

而做TDD,我執行的覆蓋範圍和結果看起來像如何獲得100%覆蓋率的測試

Name  Stmts Miss Cover Missing 
royread.py 72  14 81%  84-85, 96-110 

其實我做其他的文件夾或以上的一個目錄測試,導入功能。所以當我生成html時,我意識到我的覆蓋率較低,因爲96-110是函數定義線。我的意思是下面的這些報道中跳過的行

if __name__ == '__main__': 
game_list = get_param(para1, para2) 
joystick_list = get_initial(para3, para4) 
mypath = get_path(game_list, joystick_list, test=True) 
. 
. 
. 
. 
. 
. 
. 
. 
. 
all_list = device_list["allList"] 
skip_start = device["header"] 

我,我又寫道我的測試功能,在文件中導入這些功能並開始喜歡

import unittest 
from os import listdir 
from os.path import isfile, join 

from royread import get_param, get_initial, 
from royread import mypath 


class GameTest(unittest.TestCase): 
    def test_get_param(self): 
     device = "tekken" 
     param = get_param(para1, para2) 
     self.assertEqual(param["gamename"], "teken") 

可有人建議,幫助我得到更多的如果不忽略功能定義線,這可能是90%。 非常感謝您提供任何提示或示例。

+0

'if __name__ =='__main __':'塊只在Python模塊直接調用時纔會運行。它不是由任何測試運行者執行的。 –

+0

我用這個來執行測​​試覆蓋。覆蓋率運行-m nose -v 然後覆蓋率報告-m royread.py 而不是在測試文件上運行覆蓋率我在包含此主塊的文件上執行此操作。結果在上面提到,它跳過了函數定義行。 – roy

+0

有沒有什麼方法/建議如何解決這個問題,以獲得最大的覆蓋範圍。 – roy

回答

相關問題