0

可変数のDataRowsを受け入れるコード モジュールがあるとします。

Public sub Process(Dt As DataTable)
End Sub

1 つ以上のテストDataRowsを MbUnit テスト モジュールに渡したい:

テスト 1 :

DataRow 1: Green, 23
DataRow 2: Green, 24

テスト 2 :

DataRow 1: Green, 23
DataRow 2: Green, 24
DataRow 3: Blue, 44
DataRow 4: Red, 55

MbUnit でこれらのテストを使用して XML データ ファイルをセットアップするにはどうすればよいですか?

質問2:

テスト データに関するメタ データを渡したいとします。たとえば、「色の名前」や「距離」などです。このメタデータを XML ファイルに追加するにはどうすればよいですか?

ありがとう、

エド

4

1 に答える 1

0

Gallio Wikiには、テスト パラメーターにXML データ ソースを使用する方法と、それらをメタデータにバインドする方法を説明するドキュメントがいくつかあります。しかし残念ながら、組み込みの XML データ ソース属性はそれほど柔軟ではありません。

最善の解決策は、独自のデータ ファクトリを作成することだと思います。このようなものかもしれません:

[TestFixture]
public class MyFixture
{
  [Test, Factory("GetSampleDataTables")]
  public void MyTest(DataTable dataTable)
  {
     var foo = new Foo();
     foo.Process(dataTable);
     // Make assertions...
  }

  public static IEnumerable<object> GetSampleDataTables()
  {
    foreach (...) // Read your XML data file...
    {
      var sampleDataTable = new DataTable();
      // Populate your sample data table from XML...
      yield return sampleDataTable;
    }
  }
}
于 2011-05-23T19:35:09.163 に答える