在 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/