我想知道其他人可能有什么方法可以针对数据库测试域服务?我已经有一系列模拟存储库,我可以在域服务中使用它们来测试域服务本身。这些模拟存储库的部分构造是它们构建示例聚合和关联实体,并根据模型中使用的相同业务规则验证它们。这也提供了一种很好且简单的方法来检测实体本身内的潜在影响点,以防它们的界面发生变化。
我在对我的 SQL 支持的存储库进行实时测试时看到的主要问题是数据库一致性。例如,一旦运行测试,“创建”方面已经运行。再次运行它们显然会导致失败,因为数据库不再是原始的。我正在考虑创建一个仅用于此类测试的镜像数据库。它将是最小的,包含结构、可编程性、约束等。我还将为某些已建立的测试提供最小的数据集。我的思路是,我可以有一个存储过程,我可以调用它来在测试运行开始之前使用基本数据将数据库重置为“原始”状态。
虽然在最初验证功能后,这在开发人员机器上并不那么重要,但我正在更多地研究将这些测试作为夜间构建的一部分运行的重要性;以便在测试失败的情况下,可以阻止构建以不破坏目标部署环境(特别是在这种情况下,它将是测试团队使用的环境)。
我不一定认为平台很重要,但如果有人有实现特定的问题,我的环境如下所示:
Windows 7(开发)/Windows Server 2008 R2(服务器)Visual Studio 2008 Team Edition(C#)Microsoft SQL Server 2008 Standard(开发/服务器)
我正在使用 Team Build 来运行我的构建,但这很可能不是问题范围内的一个因素。