« [記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは | トップページ | [記事紹介] マイコミジャーナル ~ 【ハウツー】 テストプラットフォーム 「Gallio」 を理解する »

2009年7月 8日 (水)

[ブログ紹介] VS2008 の単体テストにてテストデータを外部ファイルから設定する

Visual Studio 2008 Professional を使って、 データドリブンテストを作成する手順が紹介されています。

いろいろ備忘録日記:
[C#] VS2008の単体テストにてテストデータを外部ファイルから設定する
2009-07-08

いちいちいろんなデータのパターンをその都度テストメソッド作って書いてたら大変です。
そういう時に、 外部ファイルとしてテストデータを作成してそれをテストデータとして利用する方法があります。
やり方は以下の3通りあります。

  • データベースデータを利用する。
  • CSVファイルを利用する。
  • XMLファイルを利用する。

それらのうち、 CSV からデータを供給する方法が詳しく書かれています。

末尾に補足されている、

補足:
DataRowクラスには、Field拡張メソッドがあるので System.Data.DataSetExtensions.dll を参照設定して、 using System.Data; しておくと、 テストメソッドが以下のように書けます。

…というやり方には感心しました。

なお、 データベースへ接続する方法として ODBC ドライバも使えます。 ということは、 Excel がインストールされている環境なら、 ODBC 経由で Excel のデータも直接読み込むことができます。 Excel のバージョンに合わせてドライバの指定をしなきゃいけないのが、 ちょっとやっかいです。 あと、 ODBC ドライバが行を maxscanrows だけ先読みして列の型を自動的に決めるのですが、 うっかりしていると失敗する原因になることがあります。

[TestMethod(),
DataSource("System.Data.Odbc",
      @"Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; dbq=.\LogicTest.xls; defaultdir=.; driverid=1046; fil=excel 12.0; maxbuffersize=2048; maxscanrows=8; pagetimeout=5; readonly=0; safetransactions=0; threads=3; uid=admin; usercommitsync=Yes; firstrowhasnames=1",
      "DoSomethingTest$",
      DataAccessMethod.Sequential)]
[Description("Excel のデータを使ったテスト")]
public void DoSomethingTestUsingExcel() {
  // ・・・
わんくま同盟 名古屋勉強会 #02 ( 2008/4/26 ) 「Visual Studio 2008 でやるテスト駆動開発」 サンプルソースより。

|

« [記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは | トップページ | [記事紹介] マイコミジャーナル ~ 【ハウツー】 テストプラットフォーム 「Gallio」 を理解する »

ブログ紹介」カテゴリの記事

コメント

http://superdbtool.blog.jp/archives/490043.html
テストデータ作成ならこれは便利です。
Excelに直接データが作成できます。

投稿: テスター | 2013年11月19日 (火) 08時24分

コメントを書く



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


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: [ブログ紹介] VS2008 の単体テストにてテストデータを外部ファイルから設定する:

« [記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは | トップページ | [記事紹介] マイコミジャーナル ~ 【ハウツー】 テストプラットフォーム 「Gallio」 を理解する »