Как передать несколько наборов данных в XML в MbUnit - PullRequest
0 голосов
/ 23 мая 2011

Предположим, у меня есть модуль кода, который принимает переменное число DataRows :

Public sub Process(Dt As DataTable)
End Sub

Я хочу пройти один или несколько тестов 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

Как настроитьФайл данных XML с этими тестами в MbUnit?

Вопрос 2:

Предположим, я хочу передать метаданные о данных теста?Например, «Имя цвета» или «Расстояние».Как мне добавить эти метаданные в файл XML?

Спасибо,

Ed

1 Ответ

0 голосов
/ 23 мая 2011

В 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;
    }
  }
}
...