我正在嘗試使用NDbUnit。我爲每個表創建了單獨的XSD,而不是完整的數據庫的一個大型XSD。在單個測試中讀取/加載多個XML使用NDbUnit初始化
我的測試運行良好,當我只使用單個XSD和單獨的XML讀取。然而,對於一個細微的測試,我需要在兩個或三個不同的(但相關的)表中有數據。如果我嘗試讀取多個xsd和xml,則會拋出異常。
這裏是我的代碼
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
IDbConnection connection = DbConnection.GetCurrentDbConnection();
_mySqlDatabase = new NDbUnit.Core.SqlClient.SqlDbUnitTest(connection);
_mySqlDatabase.ReadXmlSchema(@"Data\CompanyMaster.xsd");
_mySqlDatabase.ReadXml(@"Data\CompanyMaster.xml");
_mySqlDatabase.ReadXmlSchema(@"Data\License.xsd");
_mySqlDatabase.ReadXml(@"Data\License.xml");
_mySqlDatabase.ReadXmlSchema(@"Data\LicenseDetails.xsd");
_mySqlDatabase.ReadXml(@"Data\LicenseDetails.xml");
_mySqlDatabase.ReadXmlSchema(@"RelatedLicense.xsd");
_mySqlDatabase.ReadXml(@"Data\RelatedLicense.xml");
}
這裏是例外,我在那裏我嘗試閱讀License.XSD如上圖所示
類初始化方法 ESMS.UnitTest.CompanyManagerTest點得到.MyClassInitialize 引發異常。 System.ArgumentException: System.ArgumentException:已添加項目 。鍵入字典: 'EnableTableAdapterManager'鍵爲 添加:'EnableTableAdapterManager'。
我不確定這是不是讀取多個XML,XSD與NDbUnit的正確方法。我谷歌搜索和溢出(即搜索堆棧溢出),但無法得到任何明智的方向。有人可以解釋發生了什麼問題以及如何糾正?
真棒!我只想指出,有一種選擇 - 即每次需要讀取新的XSD時創建一個新的「INDbUnit」。 – stephen 2014-12-03 19:11:18