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
。
誰かがアイデアや提案をしますか?
感謝を参照してください、それは私が探していたまさにです。 – Achimnol