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

标签 java eclipse maven unit-testing junit

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

当我右键单击该项目并单击“Run As -> JUnit Test”时,它会在 3-5 秒内完成。

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

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

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

最佳答案

无需优化。

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

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

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

关于java - IDE和maven之间的单元测试性能差距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47176666/

相关文章:

maven - jxbrowser-跨平台依赖安装失败

java - 在多个 IntelliJ 项目中使用模块

java - JUnit 测试未在 Eclipse 中运行

java - 临时用 zip4j 解压文件。 (提取用于读取但在缓存文件中不可见)

java - 为什么 IntelliJ 找不到正确的 WebServlet 类?

java - 如何在 Java Eclipse 中读取文本文件?

java - 如何在 Eclipse 中将第 3 方 API 添加到我的 Api.ai/Java ChatBot?

java - 搜索对象数组和索引位置

java - 有没有办法在 .jar 中包含 VM 参数?

java - 圆碰撞错误,圆绕不动的圆运行