Amo*_*mol 2 c# tdd xsd unit-testing ndbunit
我正在为一个随着时间成熟而成熟的应用程序编写单元测试.我们正在使用NDBUnit,因为测试用例变得彼此独立.当我们开始开发这个应用程序时,DB模式非常易于管理,因此拖放VS设计师创建XSD的表格从来都不是问题.好吧,使用我当前的数据库架构,生成的XSD大小超过3MB.在慢速开发机器上VS尝试打开XSD时进入休眠状态.因此,保持DB模式和XSD同步变得非常具有挑战性.有没有办法摆脱修改XSD的手动步骤?你建议我应该考虑其他单元测试框架吗?Spring.Net肯定会给我我需要的东西,但我们没有接口,因此集成它将是一项繁琐的工作.
sbo*_*len 10
如果您手动使用Visual Studio设计器在生产环境中创建XSD文件,那么您可能做错了:)正如您所发现的那样,Visual Studio XSD设计器可能是维护您的最不可管理的方式XSD文件.
我建议按照我的方式进行操作并切换到MyGeneration代码生成工具,从数据库中创建XSD文件.
信息:http://www.mygenerationsoftware.com
下载地址:http://sourceforge.net/projects/mygeneration/
XSD模板:http://www.mygenerationsoftware.com/TemplateLibrary/Archive/ ?guid = 59a03408-c96f-4baf-171-b6bfe8725dab
此外,您应该注意,虽然我通过强制将整个数据库强制转换为单个XSD文件来演示在这些截屏视频中使用NDbUnit工具,但NDbUnit工具的预期实际使用模式是使用多个 XSD文件(s)根据需要支持您的不同数据库相关测试.
由于XSD文件(S)控制数据库的"范围"是NDbUNit将在任何一个时间上操作的内容,该工具的目的是,你将不得不为你的数据相关的测试不同的许多不同的XSD文件并且您将仔细地将测试,XSD和测试数据(XML)放在一起,以便它们彼此密切相关以用于不同的测试集合.
让你的整个数据库在单个XSD文件中表示(尤其是当XSD文件将至3MB!)几乎可以肯定是一个反模式,应该是事业为你考虑,你很可能不会考虑你的测试或测试数据一种有细节的方式才能有效.
如果在不违反参照完整性规则的情况下无法有效地将数据加载到数据库表的一部分中,那么您可能需要解决数据库设计问题.正如一个单一的上帝对象是OO设计中的反模式一样,单个单一数据库在很多地方都具有引用完整性约束,只有通过加载每个表的数据才能插入记录(强制你测试因为听起来你可能在这里做的事情一下子就完成了.
最后,为了清晰起见,NDbUnit项目现在一直是开源的,完全独立于Microdesk.当我在Microdesk工作时,该公司确实使用了该工具,我确实花了我的下班时间为该项目做出贡献,但Microdesk只是一家采用该工具的公司,因此完全错误地将NDbUnit称为'Microdesk' NDbUnit框架'.
希望这有帮助〜!