Java IDE和maven之间的单元测试性能差距

Java IDE和maven之间的单元测试性能差距,java,eclipse,maven,unit-testing,junit,Java,Eclipse,Maven,Unit Testing,Junit,在eclipse中工作,我有一个包含221个单元测试类的项目, 其中方法用@Test(org.junit.Test)注释 当我右键单击项目并单击“RunAs->JUnit Test”时,它将在3-5秒内完成 当通过maven命令(“mvn测试”)运行相同的测试时,大约需要50秒 考虑到我有大约50个这样的项目,整个系统的测试运行需要很长时间 我想运行所有的单元测试,并且只运行测试(考虑到所有内容都已经编译和构建)。 有人知道maven命令可能的优化吗?不需要优化 如果您查看Maven输出,它所做

在eclipse中工作,我有一个包含221个单元测试类的项目, 其中方法用@Test(org.junit.Test)注释

当我右键单击项目并单击“RunAs->JUnit Test”时,它将在3-5秒内完成

当通过maven命令(“mvn测试”)运行相同的测试时,大约需要50秒

考虑到我有大约50个这样的项目,整个系统的测试运行需要很长时间

我想运行所有的单元测试,并且只运行测试(考虑到所有内容都已经编译和构建)。
有人知道maven命令可能的优化吗?

不需要优化

如果您查看Maven输出,它所做的不仅仅是运行测试。它正在执行Maven生命周期中“测试”之前的所有步骤:编译、打包等

我假设您正在持续集成管道中使用Maven。50秒不是交易的破坏者。您的开发人员很快就会知道,他们应该在IDE中运行测试,提交他们的工作代码,然后让管道使用Maven为环境准备代码


我知道时间增加10倍是令人震惊的,但从更大的角度来看,这不值得担心。在您的开发周期中,要解决的低效率要高得多。

a。您可以尝试增加分配给maven进行测试的内存。B确定在服务器上花费的时间是否更高,在这种情况下,请在服务器负载较低时尝试执行测试。@akshayapandey:我认为增加内存不会有任何性能好处,除非操作系统进行交换。增加内存是必要的,因为测试本身需要更大的堆。默认情况下,堆10是提供的。他特别要求对maven命令进行可能的优化,因此指出:“我想运行所有的单元测试,只运行测试(考虑到所有的测试都已经编译和构建)。有人知道maven命令可能的优化吗?—是的,继续使用提供此有用功能的IDE:/maven永远不会很快,它被设计为不经常用于开发管道末尾的批量打包工作。所花费的时间到底在哪里?