2017-04-22 91 views
2

有沒有辦法在詳細模式下運行pycharm中的unittests。我正在尋找一種方法來查看測試函數中的文檔字符串,以便我可以看到運行測試的一些信息。Pycharm在詳細模式下運行unittest

class KnownValues(unittest.TestCase): 
    known_values = (
     ([1, 2],[[1, 2]]), 
     ([1, 2, 3], [[1, 2], [1, 2, 3]]), 
     ([1, 2, 3, 4],[[1, 2], [1, 2, 3, 4]]), 
     ([1, 2, 3, 4, 5],[[1, 2], [1, 2, 3], [1, 2, 3, 4, 5]]), 
     ([1, 2, 3, 4, 5, 6],[[1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5, 6]]), 
      ) 

    def test_check(self): 
     '''This should check is the function returning right''' 
     for arg, result in self.known_values: 
      print("Testing arg:{}".format(arg)) 
      assert program.lister(arg) == result 


if __name__ == '__main__': 
    unittest.main() 

它返回:

Testing started at 19:38 ч. ... 
Testing arg:[1, 2] 

Process finished with exit code 0 

我想:

test_check (__main__.KnownValues) 
This should check is the function returning right ... Testing arg:[1, 2] 
ok 

---------------------------------------------------------------------- 
Ran 1 test in 0.001s 

OK 

回答

1

所有你需要做的就是使用setUp方法,並調用_testMethodDoc屬性是這樣的:

def setUp(self): 
    print(self._testMethodDoc) 

你可以爲你的單元測試創​​建你自己的基類,它繼承自unittest.TestCase),但如果你想稍後重寫setUp方法,你將不得不打電話給super。這是一個選項,使更短的代碼執行:

class BaseUnitTest(unittest.TestCase): 
    def setUp(self): 
     print(self._testMethodDoc) 


class KnownValues(BaseUnitTest): 
    ...