首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用NDbUnit初始化的单个测试中读取/加载多个XML

在用NDbUnit初始化的单个测试中读取/加载多个XML
EN

Stack Overflow用户
提问于 2011-05-01 16:56:50
回答 2查看 790关注 0票数 0

我正在尝试使用NDbUnit。我为每个表创建了单独的XSD,而不是为完整的数据库创建一个大型XSD。

当我只使用单个XSD和singe读取时,我的测试运行良好。但是对于perticular测试,我需要在两个或三个不同的(但相关的)表中有数据。如果我尝试读取多个xsd和xml,则会引发异常。

这是我的密码

代码语言:javascript
复制
        [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: Item已经添加。字典中的键:'EnableTableAdapterManager‘键被添加:'EnableTableAdapterManager’。

我不确定这是否是用NDbUnit读取多个XML、XSD的正确方法。我googled和溢出(即搜索堆栈溢出),但无法获得任何合理的方向。有人能解释一下哪里出了问题以及如何纠正吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-09 15:47:03

斯波伦给我指明了方向。

事实上,目前为止,不支持加载多个XSD。

然而,幸运的是,可以在单个XSD上加载多个XML。

因此,我所做的就是创建一个XSD,并将所有相关的表放入其中。然后使用AppendXml sytanx在ReadXml旁边可用。这样,我就可以将所需的测试数据加载到多个表中,并开始通过测试。

此链接将共享更多关于AppendXml http://code.google.com/p/ndbunit/issues/detail?id=27的灯光。

票数 2
EN

Stack Overflow用户

发布于 2011-05-02 11:33:40

这不是打算使用NDbUnit的方式。不支持将多个XSD或XML文件读入单个测试范围。NDbUnit使用单个XSD中的信息来分析关系(FKs等)为了能够在CRUD操作期间正确地操作表,需要单个XSD描述您希望NDbUnit在测试运行期间操作的整个表的范围。

可以加载多个XML文件(包含测试数据),但这不是经过测试/支持的场景。我有兴趣了解您有哪些使用场景,这将排除只使用一个XML文件和所需的测试数据。

但是确实是这样的,只有一个XSD文件(包含一个或多个表的模式及其关系等等)。一次可以装载。

希望这能把这件事弄清楚。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5849873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档