私は小さなコマンドラインアプリケーション(約6k行)を持っています。私はそれらを書く方法を知らなかったので、単体テストはありません。私は遡及的にいくつか追加しています。私はthis tutorialを読んでいますが、このモジュールを使ってアプリケーション全体をテストする方法については困惑しています。実際には、私がしたいことを「単体テスト」と呼んでいるかどうかはわかりません。回帰テストPythonのアプリケーション全体
特に、特定のパラメータでアプリケーションを実行すると、特定の出力ファイルが生成されます。これらの出力ファイルが変更されていないことを確認したい。すなわち
、自分のアプリケーションの次のコマンドライン呼び出し:
main.py config1.txt 100 15
main.py config2.txt def 10 qa
etc.....
いくつかの小さな出力テキストファイル(< 10メガバイトごと)を作成し、名前の個々のフォルダ(1呼び出しあたりそれぞれ)、にそれらを置きますこうした:
output/config1.100.15.201202011733/
output/config2.def.10.qa.201202011733/
etc...
各フォルダには、いくつかの小さなテキストファイル(< 10メガバイトごと)が含まれています。コードの変更が繰り返されるたびに、私は数十種類のコマンドラインパラメータでアプリケーションを実行し、出力ファイルが異なる場合に注意してください。 (理想的には、私はそれ以上のことをしたいと思います;例えば、いくつかの出力ファイルでは、それらをタブで区切られたテーブルと特定の主キーと比較して、行の順序が変わっても同等と評価されます。クリティカル)。
これを設定するにはどうすればよいですか?
S.Lottが言ったことは、次のようにも読むことができます。出力を検証するためにファイルを使用しないでください。リファクタリングして、関数の戻り値や副作用を確認するアプリケーションです。そして私は同意する。まだユニットテストではありません(アプリケーション全体がうまく動作していることを確認したいだけでなく、そのパーツやユニットを確認したい場合もありません)。 – pkoch