在多模块Maven项目中进行测试时,如何最好地配置一次性步骤/任务?

时间:2019-06-13 10:45:53

标签: flyway maven-surefire-plugin

我有一个多模块maven项目,并且使用maven-surefire-plugin运行测试。不同模块中的许多测试都使用真实的(本地)数据库来执行测试。我正在使用flyway在测试开始期间运行数据库迁移。一切正常。

问题在于,由于surefire为每个模块派生了新的jvm进程(这对于并行性等是个好主意),因此将为每个模块启动迁移,并建立新的EntityManagerFactory(非常耗时) ,以及所有测试共有的其他任务(至少需要进行数据库集成的测试)。开始不必要的飞行路线迁移,entitymanager的设置等会降低每个模块的引导时间。

在junit / surefire世界中是否有更好的方法来执行此类Commons任务,或者我只是为不同的模块运行单独的jvm而感到困惑吗?

0 个答案:

没有答案