我按照为cobertura报告给出的步骤,我生成了报告,其中包含以下网址Cobertura on Tomcat
中给出的步骤但现在我的问题是在不停止tomcat的情况下生成cobertura报告
答案 0 :(得分:0)
只有两种方法可以创建覆盖数据文件。
cobertura
写入文件关于第二种方法:在测试运行后,您必须自己调用此函数。您可以(例如)将此代码放在servlet中(在测试结束时调用)。
如果您没有停止Tomcat或执行该功能,您将无法获得覆盖数据文件。
这是来自cobertura FAQ
Cobertura仅在应用程序服务器关闭时写入coverage数据文件。我们不想在运行测试后停止我们的应用程序服务器。
可以指示Cobertura编写数据文件。之一 你的类应该调用静态方法 net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData()。 例如,您可以在“注销”方法中添加类似这样的内容 您的网络应用程序:try { String className = "net.sourceforge.cobertura.coveragedata.ProjectData"; String methodName = "saveGlobalProjectData"; Class saveClass = Class.forName(className); java.lang.reflect.Method saveMethod = saveClass.getDeclaredMethod(methodName, new Class[0]); saveMethod.invoke(null,new Object[0]); } catch (Throwable t) {}