Python で記述されたツールのエンド ツー エンド テストを作成しています。ツールはファイルを入力として読み取ります。その終了コードとその出力をテストしたいと思います。
これはかなり一般的なイディオムであり、いくつかの方法で行われているのを見てきました。PHP プロジェクトでは、各テストはファイルでありINPUT:
、EXPECTED:
、EXPECTED_REGEX:
、 などの行があります。私自身のphcプロジェクトでは、各ファイルは通常のソース ファイルですが、先頭にコメントが追加され、 などのキーワードが含まれていますEXPECTED
。私は、tcl で書かれたはるかに複雑なツールを使用するgccからコピーしたと思います。
Pythonでこれを行うフレームワーク、ライブラリなどはありますか? そうすべき:
- ソースファイルを読む
- 予想される出力、終了コード、検出されるまたは検出されないことが予想される単語/正規表現に対応する特別なキーワード (または類似の) を解析します。
- 出力が正しいことを確認します。
理論的には難しいようには見えませんが、以前にこれを実装したときに多くのエッジケース (特にエスケープを含む) を思い出すので、車輪を再発明したくありません。