2011-05-23 43 views
0

假設我有一個接受一個代碼模塊的的DataRows可變數目:如何通過多個數據集在XML中MbUnit的

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

有一個在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; 
    } 
    } 
} 
相關問題