【发布时间】:2017-01-18 13:58:16
【问题描述】:
我正在处理一个相当小的项目(就依赖项而言),每当我运行单元测试时,JVM 需要 8 秒才能加载,然后在 0.2 秒内运行实际测试。
我的环境:
- Java 8
- Spring Tool Suite 3.8.1.RELEASE
- JUnit 4
- Windows 8
我担心我的环境中一定有什么东西导致了这需要这么长时间,我希望有人以前见过这个并找到问题的根源并可能找到解决方案?
例如如果我的PATH 环境变量真的很长,那有关系吗?
当我运行 JUnit 测试时究竟会发生什么?
我要运行的实际测试是:
public class TemplateLocationCalculatorTest {
private TemplateLocationCalculator target = new TemplateLocationCalculator();
@Test
public void whenGivenRootReturnIndex(){
Assert.assertEquals("index", target.calculate("/"));
}
}
目标类是这样的:
public class TemplateLocationCalculator {
public String calculate(String string) {
return "index";
}
}
当我说这不应该花很长时间加载时,我希望你会同意我的看法。
【问题讨论】:
-
@PieterDeBie 我做到了。第二段。计算机硬件性能应该不是问题。
-
阅读太快,删除了我的评论:)
-
你能描述一下在这 8 秒的启动过程中发生了什么吗?您可以尝试this question 中描述的方法来记录各种 JVM 引导事件。
-
@apangin 感谢您的建议。我试过了,但是在应用程序(而不是 JVM)启动之前,日志不会开始。
-
抱歉,我将 spring 工具套件误读为 spring。好吧,您使用的是 Eclipse IDE?如果您在 IntelliJ 中打开测试,它会在那里运行得更快吗?
标签: java junit jvm spring-tool-suite