2011-03-14 55 views
7

我正在尝试使用Cobertura应用代码覆盖。该应用程序是在Tomcat 5中部署的 ,但是当我测试.class文件时, 应用程序停止工作。Tomcat上的Cobertura

这是我的步骤:

  • 编译应用程序(此运行在Tomcat中)
  • 仪器类文件。

    D:\test\cobertura-1.9.4.1\cobertura-instrument.bat --destination D:\test\instrument D:\src\path_to_app\main\target\webapp 
    
  • 覆盖的D:\src\path_to_app\main\target\webapp 类文件与仪表类文件D:\test\instrument

  • 通过Catalina conf或war文件在Tomcat中部署应用程序。 (该 应用程序无法正常工作)

是否有人有正确Tomcat中 与仪表的Cobertura类部署应用程序的正确步骤是什么?

参考:http://cobertura.sourceforge.net/faq.html

我使用的Cobertura-1.9.4.1

回答

11

正确的步骤是:

  • 编译应用程序
  • 仪器类文件。 D:\test\cobertura-1.9.4.1\cobertura-instrument.bat --destination D:\test\instrument D:\src\path_to_app\main\target\webapp(一cobertura.ser其创建)

  • 覆盖的D:\src\path_to_app\main\target\webapp 类文件与仪表类文件D:\test\instrument

  • 将cobertura.jar复制到WEB-INF/lib
  • 直接或通过war文件在Tomcat中部署应用程序。
  • 将cobertura.ser复制到tomcat的当前目录(tomcat/bin或system32,否则你会在错误日志中看到路径)
  • 使用该应用程序并停止tomcat服务器。
  • 建立与更新cobertura.ser报告(在SYSTEM32或...)(至少对我来说,大小不会改变)

参考: - http://cobertura.sourceforge.net/faq.html - JB Nizet答案

+0

人们很难理解这种伟大的答案。谢谢你,兄弟。 +100500加入你的carma。 – 2015-04-09 18:10:33

0

什么是 “应用程序不工作” 是什么意思?你在tomcat输出/日志中有例外吗?它说什么?

我怀疑在部署它之前,忘记将cobertura jar放在webapp的WEB-INF/lib文件夹中。显然,由cobertura工具添加的代码调用cobertura引擎的方法,因此这些类必须在您的web应用程序中可用。

+0

错误404,谢谢,我会试试看。 – Gareve 2011-03-14 23:39:01