2009-06-13 37 views
2

我最近遇到了一個關於在Python中結合單元測試和doctests的問題。我以其他方式解決了這個問題,但我仍然對此有疑問。在Python的單元測試中使用doctest「result parser」?

Python的doctest模塊解析模塊中的文檔字符串,並在每行開始處的「>>>」後面運行命令,並比較它的輸出和文檔字符串中的輸出。

我想知道,我可以用比較方法由doctest模塊實現時,我想。我知道可以將doctest作爲測試用例添加到測試套件中,但在這裏我想在單個測試用例中進行測試。

它是這樣的:

class MyTest(TestCase): 
    def testIt(self): 
     # some codes like self.assertEqual(...) 
     output = StringIO() 
     with StdoutCollector(output): 
      # do something that uses stdout 
     # I want something like this: 
     doctest.compare_result(output.getvalue(), 'expected output') 
     # do more things 

因爲文檔測試使用一些啓發式像省略號輸出進行比較。

會有人提出一個想法或建議嗎?

回答