1

为了使用 Emma,我们将首先使用 Emma 检测 jar。在此期间,将生成 em 元数据文件,并且当您在已检测的 jar 上运行 JUnit 测试用例时,将生成 ec 文件。用于生成覆盖率报告。

我的问题是我们在运行测试用例时没有指定 em 文件的路径,那么它如何生成 ec 文件?我也听说 Emma 在运行时使用端口。那个端口是什么?

4

2 回答 2

1

Emma 在其检测阶段使用了一种称为字节码操作的功能。如果您在反编译器中打开检测类文件,您会注意到它会引入几行额外的代码。

正是这个额外的代码进行了报告。这将是一个简单的日志,表明该特定行号的代码已执行。

当您生成报告时,emma 使用该ec文件生成报告的人类可读格式。

于 2011-09-15T15:47:38.693 回答
1

Andrew,默认情况下 EMMA 使用当前文件夹来查找 coverage.em 文件。我不相信它正在侦听任何 TCP 端口,我通过 EMMA 源代码进行了快速扫描,但找不到任何对套接字的引用。它仅使用 URL 从类路径加载类文件以进行检测。

于 2011-09-16T14:14:20.137 回答