运行所有Java测试需要花费大量时间才能完成。
因此解决方案是使用多个线程并行运行所有测试,以在所有类中使用@RunWith(ParallelSuite.class)
运行函数。
但是问题是,当某些函数并行运行时,它们使用相同的资源。因此它抛出一个ConcurrentModificationException
。解决方案是设置此功能并按顺序运行它们。
如何在将Spring Boot项目中的所有junit测试配置为使用ParallelSuite并行工作后,如何隔离某些功能以使其顺序工作,否则还有其他解决方案。
将synchronized
用于需要一次由一个线程访问的功能,或者您可以使用:C在单个功能内完成:
void runSync() {
synchronized (this) {
count = count + 1;
}
}
您可能还应该阅读this。