Amazon

2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

最近のトラックバック

無料ブログはココログ

Amazon2

« VisualStudio2012の単体テストを使用する(nUnitから移行する) | トップページ | VisualStudio2012の単体テストでXMLファイルを読み込んでテストする »

2013年5月16日 (木)

VisualStudio2012の単体テストでCSVファイルを読み込んでテストする

前回nUnitからVisualStudio2012の単体テストに移行しました。nUnitとVisualStudioの単体テストは
基本的に同じ機能があり、殆どプログラムを修正する事無く移行する事ができましたが、TestCaseSourceが
ありませんでした。TestCaseSourceの代わりにDataSourceがありましたので、CSVファイルから
テストパターンを流し込んでみます。




nUnit v2.5以降にはTestCaseSourceと言う非常に便利な機能があります。この機能はテストデータを
object[]で定義すると、テストデータの配列分だけ反復してテストしてくれる非常に便利な機能でした。

VisualStudioの単体テスト機能には、TestCaseSourceに相当する機能がありませんが、その代わりに
CSVファイルを読み込んで定義されているデータの件数分だけ反復してテストしてくれる機能があります
のでこれを使用してみます。

・テストデータCSVの作成

以下の様なCSVファイルをテストクラスと同じフォルダに作成します。
1行目が見出しとなり、その名前で値を取得する事ができます。



・テストメソッドを以下の様に記述します


ポイントは以下の通りです。

  ・CSVファイルへの相対位置に気をつける
    実行されるのは.\bin\debugや.\bin\releaseではありません。プロジェクトと横並びの
    .\TestResultsのさらに下になります。

  ・CSVファイルはUTF-8のBOM無しにする
    これに一番はまりました。VisualStudioで作成したcsvファイルはUTF-8のBOM付なので
    BOMを取り除く必要があります。他のエディタ等で修正して下さい。


以上です。これで、テストデータを記述したCSVファイルから"arg1","arg2"の様に見出し名で取得
できます。これで、テストロジックは共通のまま境界値の上限・下限の両方のテストが実行できます。
コーディング時になんとなくあれこれ考えるより先にテストしてしまうと、結果的に開発が加速する 事も多いと思いますので活用したいですね。







肝心のコーディングは相変わらず遅々として進みませんが。。。



« VisualStudio2012の単体テストを使用する(nUnitから移行する) | トップページ | VisualStudio2012の単体テストでXMLファイルを読み込んでテストする »

C#」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1680410/51642901

この記事へのトラックバック一覧です: VisualStudio2012の単体テストでCSVファイルを読み込んでテストする:

« VisualStudio2012の単体テストを使用する(nUnitから移行する) | トップページ | VisualStudio2012の単体テストでXMLファイルを読み込んでテストする »