如果您在生产环境中手动使用 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-8171-b6bfe8725dab
另外,您应该注意,虽然我在这些截屏视频中演示了 NDbUnit 工具的使用,方法是将整个数据库强制压缩到一个 XSD 文件中,但 有意 em> NDbUnit 工具的实际使用模式是根据需要使用多个 XSD 文件来支持不同的数据库相关测试。
由于 XSD 文件的内容控制着 NDbUNit 将在任何时候操作的数据库的“范围”,因此该工具的目的是为您的不同数据提供许多不同的 XSD 文件依赖的测试,并且您将仔细地确定测试、XSD 和测试数据 (XML) 的范围,以便它们在不同的测试集合中彼此密切相关。
将您的整个数据库表示为单个 XSD 文件(尤其是当该 XSD 文件接近 3MB 时!)几乎可以肯定是一种反模式,应该让您考虑到您可能没有以足够细化的方式考虑您的测试或测试数据以使其有效。
如果您无法在不违反参照完整性规则的情况下有效地将数据加载到数据库表的一部分中,那么您可能需要解决数据库设计问题。就像一个单一的上帝对象在 OO 设计中是一种反模式一样,一个单一的整体数据库也是如此,它在很多地方都具有引用完整性约束,以至于只有通过为每个表加载数据才能插入记录(迫使您测试一次完成整个事情,听起来你可能在这里做)。
最后,为了清晰起见,NDbUnit 项目现在和一直都是开源的,并且完全独立于 Microdesk。当我在 Microdesk 工作时,该公司确实使用了该工具,而我确实在业余时间为该项目做出了贡献,但 Microdesk 只是采用该工具的公司之一该工具,因此将 NDbUnit 称为“Microdesk 的 NDbUnit 框架”是完全错误的。
希望对你有帮助~!