5

假设我在 IDE(本例中为 Eclipse)中有一个 Java 程序。现在假设我执行程序并在某个时候终止它或它自然结束。

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

手动收集这些信息的方法是不断地进行调试并维护一组我们至少经过一次的行。但是,是否有一些工具或分析器已经这样做了?

编辑:只是为了澄清:我需要能够以编程方式访问此信息,而不必从 JUnit 测试中访问。

4

3 回答 3

8

eclemma将是一个好的开始:代码覆盖工具将允许覆盖会话记录您正在寻找的信息。

替代文字
(来源:eclemma.org

于 2008-11-14T04:51:56.100 回答
3

你问的是所谓的“覆盖”。有几种工具可以衡量这一点,其中一些工具集成到 Eclipse 中。我用过jcoverage并且它可以工作(我相信它有一个免费试用期,之后你必须购买它)。我没用过,但你也可以试试Coverlipse

于 2008-11-14T04:52:30.327 回答
2

如果我正确理解了这个问题,那么您需要的不仅仅是标准的堆栈跟踪数据,但您不想使用例如 log4j 调试语句手动检测您的代码。

我唯一能想到的就是添加某种字节码跟踪。请参阅检测 Java 字节码。这篇文章引用了我没有使用过但听起来像你需要的Cobertura ...

于 2008-11-14T05:58:37.540 回答