当前位置: 首页 > 知识库问答 >
问题:

JBoss服务器上的Cobertura运行时覆盖率

弘浩瀚
2023-03-14

我正在探索在运行时为JavaWeb应用程序执行Cobertura代码覆盖,我遇到了一篇文章http://www.mojohaus.org/cobertura-maven-plugin/instrumentingDeploymentArtifact.html

我遵循这些步骤,在一个小型maven web应用程序上获得了覆盖率报告,我在JBoss服务器上部署了一个war文件(包含一个模块),并手动浏览了部署的应用程序。

现在,当我为一个更大的应用程序遵循相同的过程和步骤时,我们需要在同一个设置上部署一个ear文件(包含多个模块的war文件),我手动点击应用程序服务,但我无法获得任何覆盖范围。一个空的cobertura。ser文件最初是创建的,但不会更新。

请让我知道,如果有一个耳朵/战争或任何其他问题,需要在JBoss服务器配置。

提前谢谢

共有1个答案

冀萧迟
2023-03-14

Cobertura的一个已知条件是,它在JVM关闭期间写入代码覆盖率,也就是说,它注册了一个关闭挂钩,并在那时将信息转储到文件中。问题是JBoss通常在大多数关闭钩子可以执行之前停止JVM,这会影响Cobertura。看看这个常见问题:我在使用JBoss。当我停止服务器时,覆盖率数据文件没有被写入。

常见问题解答建议使用

  -Djboss.shutdown.forceHalt=false

现在,另一个常见的解决方案是合并CoberturaFlush。war(发行版的一部分)进入您的EAR,并调用一个特殊的url,该url将使Cobertura运行时将其数据转储到文件中。您希望在关闭服务器/应用程序之前调用该url,通常是http://HOST:PORT/coberturaFlush/flushCobertura

最后一件事:默认情况下,数据文件将在工作目录中生成,因此使用以下命令显式强制文件路径名通常更安全:

 -Dnet.sourceforge.cobertura.datafile=[absolute file path]

在您的情况下,必须将其添加到JBoss启动参数中(例如run.conf)

 类似资料:
  • 我正在为我的grails 3.1.6项目添加cobertura代码覆盖率,覆盖率报告似乎有点少,即我有单元测试用例(pos和neg两种情况)来覆盖if块,但报告说没有覆盖if块。gradle:2.13 Groovy:2.4.5 Grails:3.1.6 cobertura gradle Plugin:net.saliman:gradle-cobertura-plugin:2.3.2 这是我的代码

  • 问题内容: 我试图覆盖Python类的方法,因为我想每次实例属性更改其值时都调用另一个函数。但是,我不希望该方法出现此行为,因为在此初始化期间,我设置了一些稍后将要使用的属性: 到目前为止,我有此解决方案,而不必在运行时重写: 但是,我想避免这些,并在方法末尾进行覆盖: 我尝试了和,但是这些尝试都没有效果。我已经阅读了数据模型参考的这一部分,但是看起来自己的分配有些棘手。 如何可能在的末尾进行覆盖

  • 问题内容: 我们的商业应用程序过去曾在不同的应用程序服务器上运行,因此我们开始对其进行调整,使其可以在JBoss服务器上运行。问题在于该应用程序运行JBoss缓存,并且作为与此框架集成的一部分,web- inf \ lib包含以下jar: jboss-aop.jar,jbosscache-core.jar,jboss-common.jar,jboss- common- core.jar,jboss

  • 问题内容: 目前,我在显示格式化的小数时遇到问题。在我的本地计算机中,我有一个十进制值:0.002100000000存储在数据库中。 我的问题是在本地计算机上显示:0.0021-美国设置,但在另一台服务器上0,0021-法语设置 这是为什么?我以为DecimalFormat,无论区域设置如何格式化十进制值? 问题答案: 该模式是,正如它的名字(和javadoc)说,一个纯粹的模式。在此模式中,代表

  • 我有一个jenkins的工作,将一个ear文件部署到WebLogic12服务器上。当我最初运行作业时,部署是成功的。但是,如果我想通过重新运行jenkins作业来覆盖ear文件,则不会覆盖该文件。另一个版本在ear文件名的末尾安装。 是否有一个配置可以用来始终覆盖ear文件? 如果服务器上当前有ear,则可以正确地在服务器上部署和扩展ear文件。如果jenkins作业再次运行,它将创建ear文件的

  • 如何将JBoss或JBoss EAP库添加到Eclipse中项目的Java构建路径? 我的平台:带有WindowsXPSP3、JDK7和JRE7的虚拟机、面向Web开发人员的EclipseJavaEEIDE(版本:开普勒服务发行版2)、Eclipse中新的干净工作区 我所做的: 从市场上为开普勒安装了JBoss工具 文件夹与解压缩的JBoss EAP-我尝试与jboss-eap-6.2.0.zip