2009-06-13 5 views
2

私は最近、Pythonで単体テストとdoctestを組み合わせることについての問題に直面しました。私はこの問題を別の方法で解決しましたが、まだそれについて質問があります。Pythonのユニットテストでdoctest "result parser"を使用していますか?

Pythonのdoctestモジュールは、モジュール内のdocstringを解析し、各行の先頭に ">>>"の後にコマンドを実行し、その出力とdocstringの出力を比較します。

その比較方法を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 

誰かがアイデアや提案をしますか?

答えて

関連する問題