Java 使用VisualVM在Eclipse Indigo中配置JUnit

Java 使用VisualVM在Eclipse Indigo中配置JUnit,java,junit,profiling,profiler,visualvm,Java,Junit,Profiling,Profiler,Visualvm,我如何评测JUnit测试,优先考虑Eclipse集成支持?我试图用VisualVM来做,但显然做不到 我使用的是Windows7x64、EclipseIndigo、JDK1.6、jre-j9和JUnit3(我可以使用v.4)您可以使用JVisualVM(%JAVA\u HOME%/bin/JVisualVM.exe),但要将其与JUnit一起使用,您需要稍微更改运行配置 运行JUnit测试一次,以创建运行配置 编辑运行配置(运行->运行配置…) 在Test选项卡中选中“调试时测试后保持JUnit

我如何评测JUnit测试,优先考虑Eclipse集成支持?我试图用VisualVM来做,但显然做不到

我使用的是Windows7x64、EclipseIndigo、JDK1.6、jre-j9和JUnit3(我可以使用v.4)

您可以使用JVisualVM(
%JAVA\u HOME%/bin/JVisualVM.exe
),但要将其与JUnit一起使用,您需要稍微更改运行配置

  • 运行JUnit测试一次,以创建运行配置
  • 编辑运行配置(
    运行->运行配置…
  • Test
    选项卡中选中“调试时测试后保持JUnit运行”框
  • 重新运行测试(带调试)。这将运行测试,但重要的是,保留JVM,以便您可以使用JVisualVM连接到它
  • 如果您希望评测测试的特定部分,那么在前后设置断点将使您能够启动/停止评测。

    有一个支持JUnit运行配置的eclipse插件。有关EclipseIDE集成的屏幕转换,请参阅

    要在测试完成后保持JVM活动(以便您可以分析结果),请编辑评测设置并在“杂项”选项卡上选择“保持VM活动”


    免责声明:我的公司开发了JProfiler。

    使用VisualVM配置应用程序启动或短期运行过程(如测试)的一个简洁选项是


    插件提供的命令行参数必须复制到VM参数下的启动配置。

    使用VisualVM时有什么问题?我以前使用过它,它很管用。@Axel我可以用它来启动java程序(使用main方法),但是当我尝试评测JUnit(选择VisualVM作为启动器而不是Eclipse JUnit启动器)时,我会收到一个NullPointerException错误消息框,并且测试是在Eclipse上运行的。@Axel你是怎么做到的?错误。。。我启动VisualVM并连接到进程。使用SpringJUnit4ClassRunner运行SpringJUnit测试要花很长时间。选中此选项可消除所有这些问题。谢谢也许我遗漏了一些东西,但我发现重新运行测试会启动一个不同的VM(不是被监视的VM),因此不会收集任何数据。作为一种解决方法,我在构造函数/@Parameters初始化中设置了一个断点,然后我可以在测试运行之前链接监视器。谢谢您的提示。好的,这个解决方案很有效。。。您打开jvisualvm,然后“采样”RemoteTestRunner,您可以从体验中获得一些有意义的反馈。但与Nebeans profile Junit测试相比,这种方法并不具有竞争力。取决于单元测试的复杂性,以及您为强调单元测试而产生的数据量,除非为此找到合适的插件,否则我只需要使用普通的netbeans,并让它进行分析。如果不值得花费时间,那么visualvm采样方法就可以了。@Stefan:看来你的链接断了-我得到一个“找不到页面”。无论如何,我在Neon发行版(4.6.0)上没有得到空指针。谢谢我的nullpointer异常是由于在visualvm启动程序的设置中缺少visualvm可执行文件的路径,而不是由于Neon(如我首先假设的)。是否有测试期,或者您必须提前购买?下载时有10天的评估期,但也可以获得更多时间。