2014-04-03 56 views

回答

1

現在我只是爲我想要測試的每個模塊運行unittest。有兩種類似的方法可以做到這一點。我已經把這個單元測試到pybuilder單元測試目錄中名爲gmprod_tests.py文件:

1無例外),只是斷言文檔測試失敗的次數是零:

import unittest 
import doctest2 as doctest #pip install doctest2 

class GmProdTest (unittest.TestCase): 

    def test_docstrings(self): 
    import bin.lib.gmprod 
    (num_failures, num_attempts) = doctest.testmod(bin.lib.gmprod) 
    self.assertEquals(num_failures,0) 

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

的優點是輸出當您運行pyb時,失敗的doctests出現在您的控制檯輸出中。

2)還有一種使用異常的方法。這是相同的代碼,只有test_docstrings方法現在看起來是這樣的:

def test_docstrings(self): 
    import bin.lib.gmprod 
    doctest.testmod(bin.lib.gmprod,raise_on_error=True) 

這種方式存在的控制檯上沒有詳細的文檔測試錯誤描述,但你在單元測試寫更少的代碼:)