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
因爲文檔測試使用一些啓發式像省略號輸出進行比較。
會有人提出一個想法或建議嗎?
謝謝,這正是我一直在尋找的。 – Achimnol 2009-06-13 13:56:55