首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jacoco报告0类

Jacoco报告0类
EN

Stack Overflow用户
提问于 2019-01-15 13:26:05
回答 1查看 2.4K关注 0票数 1

我是mvn & jacoco的新手,mvn jacoco:report有一个问题,他在jacoco.exec文件中找到了0个类。

-javaagent:/opt/jboss/jacoco/org.jacoco.agent.jar=destfile=/opt/jboss/jacoco/jacoco.exec,output=tcpserver,address=*,port=6667代理是在一个码头容器内执行的。

我在standalone.conf中传递了这个选项

代码语言:javascript
复制
#
# Specify options to pass to the Java VM.
#
if [ "x$JAVA_OPTS" = "x" ]; then
   JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"
   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
   JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/jboss/jacoco/org.jacoco.agent.jar=destfile=/opt/jboss/jacoco/jacoco.exec,output=tcpserver,address=*,port=6667"
else
   echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"
fi

够了吗?

当我启动jacoco:dump时,我成功地连接到我的容器,并在本地创建了一个jacoco.exec文件(不是空的)

我的应用是这样的:

  • Docker容器:通配符(我需要代码覆盖)
  • 本地机器:我的maven应用程序
  • 本地机器:我的selenium项目(在这里我执行了jacoco)

我的插件配置pom:

代码语言:javascript
复制
<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.2</version>
    <configuration>
            <dataFile>/home/mypath/jacoco.exec</dataFile>
            <reset>true</reset>
            <address>172.17.0.3</address>
            <port>6667</port>
            <append>false</append>
    </configuration>
</plugin>

编辑: jacococli生成一个报告,所以我的exec文件是正确的。

编辑:好的,我想我发现了我的问题--问题是我的maven应用程序是我的selenium项目的依赖项,看起来jacoco-maven-plugin无法使用依赖项(获取所有的类文件)来创建报告,但是在ant中有更多的选项,所以这里是我的解决方案:

代码语言:javascript
复制
<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <phase>test</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target name="report">
                                <!-- Execute an ant task within maven -->
                                <echo message="Generating JaCoCo Reports" />
                                <taskdef name="report"
                                    classname="org.jacoco.ant.ReportTask">
                                    <classpath
                                        path="xxxtarget/*.jar" />
                                </taskdef>
                                <mkdir dir="${basedir}/target/coverage-report" />
                                <report>
                                    <executiondata>
                                        <fileset dir="${basedir}/target">
                                            <include name="jacoco.exec" />
                                        </fileset>
                                    </executiondata>
                                    <structure name="Integration Tests Coverage Report">
                                        <classfiles>
                                            <fileset dir="xxx/target" >
                                                <include name="*.jar"/>
                                            </fileset>
                                        </classfiles>                                   
                                    </structure>
                                    <html destdir="${basedir}/target/coverage-report/html" />
                                </report>
                            </target>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.jacoco</groupId>
                        <artifactId>org.jacoco.ant</artifactId>
                        <version>0.8.2</version>
                    </dependency>
                </dependencies>
            </plugin>

我终于让pom自动生成了报告。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-01-15 14:46:34

你是如何执行jacoco报告目标的?

您可以尝试运行这样的命令:

代码语言:javascript
复制
mvn -B -DskipTests org.jacoco:jacoco-maven-plugin:0.7.9:report -Djacoco.dataFile="<..>\target\jacoco-merged.exec"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54199786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档