【问题标题】:Does emma support concurrent writing to session files by multiple processes?emma 是否支持多个进程并发写入会话文件?
【发布时间】:2009-08-17 03:58:41
【问题描述】:

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

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

【问题讨论】:

    标签: java emma


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 2023-03-03
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多