我正在为一个项目开发一个测试环境,并且正在研究使用 DbUnit.NET 来进行大量的数据库交互测试。不过,我确实有一个非常大的问题:
我们正在针对 Oracle 运行,并且为每个开发人员设置单独的测试数据库实例确实不可行(特别是因为我们只有 1 个已经时间紧迫的 DBA)。这意味着所有开发人员和持续集成服务器都需要使用相同的数据库模式。
那么,关于这个问题:有没有一种好方法可以防止超过 1 人同时进行测试?很容易在 db 表中放置一条记录以指示测试正在运行,然后在测试完成后将其删除,但是 NUnit 没有任何方法可以在测试会话开始和结束时运行某些东西。
还有其他想法吗?似乎这应该是一个非常普遍的问题......或者每个人实际上是否为每个可能运行测试的开发人员/测试人员运行单独的数据库实例?