1

目标:并行运行我们的数据库测试(使用不同的数据库)。

我们正在使用 Resharper 的 Nunit 选项将我们的单元测试集成到 Visual Studio 中。Resharper 允许您设置并行运行的程序集数量。串行运行时测试永远不会失败;但是,当我们将并行运行的程序集数量设置为 3 个或更多(可能是两个,尽管还没有一个失败)时,一些数据库测试总是失败。

我们的猜测是,数据提供者正在从测试中退出。我们使用 spring 作为 IOC,在我们的测试中它还处理事务管理。我们的旧测试需要种子数据,但我们的新测试需要一个空数据库并为测试创建任何必要的数据。我们认为,因为我们的测试夹具的引导程序正在设置 db 提供程序的连接字符串属性,所以当另一个测试并行运行时,它可以将提供程序从测试中更改出来。

无论哪种方式,并行运行数据库测试并且不会丢失我们使用 spring 获得的事务管理和测试清理会很好。

为每个测试运行的引导程序正在设置连接字符串(和数据库提供程序连接字符串)。

关于如何让这些测试(使用不同的连接字符串)并行运行的任何想法。

4

0 回答 0