如何在NetBeans Maven项目中分析JUnit测试?

时间:2011-11-17 13:03:39

标签: java netbeans maven junit profiling

我试图这样做,但似乎不可能,因为你只能分析主要方法。我甚至添加了一个使用test的主要方法,但它只显示了main方法的时间。 :(

我正在使用模拟和抽象测试用例,因此我无法将其转换为主要方法。

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

您可以使用java安装中的jvisualvm

此工具可以监视和分析任何正在运行的Java应用程序。

答案 1 :(得分:1)

如果您正在尝试获取正在测试的代码的性能结果,那么通常通过在真实环境(容器,可执行文件等)中运行时对实际应用程序进行概要分析来实现这一点。因此,我假设尝试通过单元测试分析实际应用程序代码是不正确的方法,因为您可能无法获得真正的性能详细信息。这有多种原因:

  • 与您在单元测试中模拟的其他对象的交互实际上需要花费时间并消耗资源,因此您无法获得性能详细信息。
  • Java运行时在运行时优化字节码,以便性能通常会随着时间的推移而提高
  • 我确定还有其他人;这些都是咖啡前给我的。

如果你真的试图描述你的单元测试用例,我不得不问你为什么要这样做。只要他们“足够快”(这是一个主观术语,但“在10分钟内”通常是一个很好的代理价值)来让开发人员及时通过或失败的反馈,那么这应该是足够好的...

答案 2 :(得分:0)

我建议使用JMH +分析器(spf4j,飞行记录器)

一个关于如何做到这一点的例子你可以看到: http://zolyfarkas.github.io/spf4j/xref-test/org/spf4j/JmhTest.html

如果你将jenkins与jmh插件一起使用:https://github.com/blackboard/jmh-jenkins 你可以提升你的表现,你总能看到要调查的探查者数据。

答案 3 :(得分:0)

我发现Junit框架是一个方便的地方,可以进行临时性能测试。当然,有更好的方法来管理它,但如果您只是修复一个热点并想要一个配置文件,这就足够了。我的方法是:

  • 运行单元测试
  • 正在运行时,请附加探查器

您可能希望在前面添加一个睡眠,以便有时间连接。又快又脏。