2011-12-20 10 views
0

私はいくつかの行と列を含むCSVを生成しています。私がテストだしかしCSVのテスト - どこまで行くべきですか?

は、CSVは、私は単に私がそれぞれのチェックだし、すべてのフィールドが正しいような試験でファイルを構築するコードを繰り返していますように感じると述べました。

質問は、これは私には思えるよりも賢明であるか、またはより良い方法はありますか?

+0

あなたがテストにご期待文字列を構築するか、単に、例えば、それらを明記しています'string expected =" c、s、v ";'? – StuperUser

+0

テストの例を表示できますか? –

+0

あなたは「CSVを生み出している」とは何ですか?ベースから読み込まれたオブジェクト、APIを使用してビルドされたオブジェクトなど...?もしそうなら、あなたの「CSVビルダー」への入力を構築するテストは、出力を取得し、ハード書かれ、期待されるCSVファイルにそれを比較する私には理にかなっ以上のようです。 – phtrivier

答えて

0

はるかに簡単テストは単にスプレッドシートまたはデータベースにCSVをインポートし、データ出力が適切なフィールドに位置合わせされていることを確認することです。余分な列や余分な行がなく、インポートされたレコードセットから選択されたデータは、CSVが生成されたレコードセットとの完全なINTERSECTです。

さらに重要なのは、テストデータに次のような共通のCSV失敗シナリオが含まれていることを確認することです。 :

  • フィールド(他が成功したところ失敗あなたは、それは同じことだと思うかもしれませんが、私は1つを見てきました)
  • フィールドをカンマが含まれている(または任意のあなたの区切り文字)
  • フィールドに複数のカンマが含まれています新しい行の文字を含む
  • フィールドにはCSVファイルのコードページにない文字が含まれています

...コードが正しく処理していることを確認してください。

+0

実際のファイルを見ていますか?私は自動化されたテストを書いています。 –

+0

いいえ私は、たとえばSQLデータベースにCSVファイルをインポートし、行を数えたり、列を数えたり、元のレコードセットに対してINTERSECTクエリを実行したりする自動化されたプロセスを使用しないことを意味します。 。私がDBの一番の人間だからといって、テスト駆動開発について知らないわけではありません。 ;-) –

関連する問題