2008-11-14 33 views
5

假设我在IDE中有一个Java程序(本例中为Eclipse)。 现在假设我执行程序,并在某个时刻终止它,或者它自然结束。如何确定哪些代码行参与了Java程序的特定执行?

是否有方便方法来确定哪些行至少执行一次,哪些没有(例如,未达到异常处理或条件?)

手动的方式来收集这些信息将应该不断地进行调试并保持一组我们至少通过一次的线路。但是,有没有一些工具或分析器已经这样做?

编辑:只是澄清:我需要能够以编程方式访问此信息,而不一定来自JUnit测试。

回答

3

你问被称为 “覆盖” 是什么。有几种工具可以衡量它们,其中一些可以集成到Eclipse中。我已经使用jcoverage,它工作(我相信它有一个免费试用期,之后你必须购买它)。我没有使用它,但你也可以尝试Coverlipse

+0

不覆盖意味着受所有单元测试在系统中影响的代码的联合? 我正在寻找某个执行的结果,而不一定是通过JUnit。但我会检查出来。谢谢 ! – Uri 2008-11-14 04:55:03

2

如果我正确地理解了这个问题,你想要的不仅仅是标准的堆栈跟踪数据,而且你也不想用log4j调试语句来手动测试你的代码。

我唯一能想到的是添加某种字节码跟踪。请参阅Instrumenting Java bytecode。文章参考Cobertura,我没有用过,但听起来像你需要的...

相关问题