对于使用Emma,我们首先使用Emma对jar进行检测。在此期间,将生成em元数据文件,当您通过已检测的jar运行JUnit测试用例时,将生成ec文件。用于生成覆盖率报告。
我的问题是,当我们运行测试用例时,我们没有指定em文件的路径,那么它是如何生成ec文件的呢?我也听说过艾玛在跑步时使用了一个端口。那个港口是什么?
答案 0 :(得分:1)
Emma在其检测阶段使用一种称为字节码操作的功能。如果您在反编译器中打开已检测的类文件,您会注意到它会引入几行额外的代码。
这是执行报告的附加代码。它将像一个简单的日志一样简单,表明该特定行号的代码已经执行。
生成报告时,emma使用ec
文件生成人类可读的报告格式。
答案 1 :(得分:1)
Andrew,默认情况下,EMMA使用当前文件夹来查找coverage.em文件。我不相信它正在侦听任何TCP端口,我通过EMMA源代码进行了快速扫描,但找不到任何对套接字的引用。它只使用URL从类路径加载类文件进行检测。