私はいくつかのコマンドラインオプションと入力ファイルを取り、出力ファイルを生成する完全に非対話的なPythonプログラムを持っています。単純なケースを選択し、入力ファイルと期待出力ファイルを手書きで作成し、入力ファイルでプログラムを実行し、出力ファイルを期待ファイルと比較することで、簡単にテストできます。出力ファイルを参照ファイルと比較して完全なプログラムをテストする:それは何を呼び出すのですか?パッケージがありますか?
1)このタイプのテストの名前は何ですか?
2)このタイプのテストを行うPythonパッケージはありますか? 最も基本的な形式で手でセットアップすることは難しくありません。私はすでにそれを行いました。しかし、日付とその他の情報が含まれている出力ファイルのようなケースに遭遇しましたが、これは実行間で正当に変更される可能性があります。参照ファイルのどのセクションを違うものにする必要があるのかを指定し、私は "ホイールを再発明する"領域に入っているかもしれないことに気付きました。 (私が最後にこのことが起こった前にunittest機能の良い部分を書き直しました...)
正規表現のシーケンスとして検証ファイルを構成し、この場合、各行が予想される正規表現と一致することを検証するのが簡単かもしれませんが。 –
はい、パッケージは出力のどの部分が正当に変更できるのかわかりませんが、参照出力ファイルのいくつかのセクションにマーカを入れて、それらのセクションの違いを無視するようにする構文を持つことができます私が書いていることを考えていたのですが、なぜそれが難しいのか、悪い考えがあるのか分かりません。 – weronika
私は私の執筆時にあなたのコメントが表示されませんでした。はい、いい考えです。この種の正規表現ベースのファイル比較を行うための既存のツールがあるかどうか知っていますか? (自分で書くのは難しくありませんが、私は既存のものを再開発するのを避けようとしています) – weronika