假设我有一个代码模块,它接受可变数量的 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
如何在MbUnit中使用这些测试设置XML数据文件?
问题2:
假设我想传递有关测试数据的元数据?例如“颜色名称”或“距离”。如何将此元数据添加到XML文件中?
谢谢,
版
答案 0 :(得分:0)
Gallio Wiki 中有一些文档解释了how to use an XML data source您的测试参数以及如何将它们与元数据绑定。但遗憾的是,内置的XML数据源属性并不那么灵活。
我想最好的解决方案是创建own data factory。这样的事情可能是:
[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;
}
}
}