我有一个包含许多集成测试的项目,我正在尝试减少测试执行时间。 测试都是使用数据库连接的JUnit测试。 目前,为了处理缓存问题,所有测试都使用带有fork的maven-surefire-plugin逐个运行,以处理缓存问题(这里的缓存不是问题)。
所有测试都使用持久保存到相同数据库架构的应用。在尝试平行过程时,这将面临挑战。
我发现了一个很好的博客,可以解释一下肯定的并发性http://incodewetrustinc.blogspot.com/2010/01/run-your-junit-tests-concurrently-with.html 但由于我有共享资源,因此我仍然无法实现此解决方案。
我的想法是创建多个模式并在threads \ process之间共享它们。如何为每个测试分配单独的连接并避免冲突?
我很想听到一些想法。
谢谢, IKA。
答案 0 :(得分:0)
使用${surefire.forkNumber}
作为数据库连接ID的一部分。然后,运行测试的每个线程将使用单独的连接。