0

如果我在 emma 中检测两个 jar,将它们指向同一个 emma 会话文件,然后同时运行它们(例如,客户端和服务器),我应该期望事情正常工作还是失败?这些罐子是由公共来源构建的,所以我不认为元数据会出现问题。

我在文档中没有看到任何关于此的内容,所以如果有的话,肯定会受到欢迎。

4

1 回答 1

1

不,它不能。当流程大部分结束时,Emma 会写出检测的结果。它会覆盖现有位置的任何文件,但它也会写出一个文本文件,并且不直接支持合并或合并多个报告。

然而,有一个名为Grobo的分析工具可以帮助您执行此操作。它有一个分析模式“安全”,它将每个事件写入日志文件,然后关闭该日志文件。这可能允许多个实例运行并输出到同一个地方,并在不关闭进程的情况下为您提供最新的分析信息。旧版本用于允许合并覆盖率报告,但最新版本没有提及。我过去使用过它,Tomcat 在完成写出之前杀死了 Emma 分析线程,在这种情况下,安全模式可以确保所有覆盖数据的写入都没有问题。它还可以用于通过一组测试来获得部分覆盖率,而集成测试有时会非常有用。

另一种选择,可能是最好的选择,是Cobertura。它具有合并多个报告文件的能力,因此您可以使用不同的输出文件运行每个 Java 进程,然后在最后将它们全部合并以生成合并覆盖率的报告。

于 2009-08-17T11:53:14.347 回答