jacoco单测报告怎么同步到sonarqube

这篇具有很好参考价值的文章主要介绍了jacoco单测报告怎么同步到sonarqube。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

sonarqube支持多种代码覆盖率的报告展示,最常用的当属jacoco报告,那么jacoco的报告怎么同步到我们的sonarqube中呢?

我们先看看jacoco的offline模式(单元测试)报告生成的流程
jacoco sonarq,jacoco,junit,单元测试,java
根据上图我们需要生成单测报告,有两个关键点:

  • 触发单测
  • 触发jacoco生成报告

为了实现上述功能,我们首先需要对我们工程进行改造

  1. 引入jacoco插件(只需引入插件即可)
      <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.7</version>

                <configuration>
                    <!--指定生成.exec文件的存放位置-->
                    <destFile>target/coverage-reports/jacoco-unit.exec</destFile>
                    <!--Jacoco是根据.exec文件生成最终的报告,所以需指定.exec的存放路径-->
                    <dataFile>target/coverage-reports/jacoco-unit.exec</dataFile>
                    <includes>
                        <include>com/dr/jacoco/services/**</include>
                    </includes>
                    <excludes>
                        <exclude>META-INF/**</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <id>jacoco-initialize</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <phase>test-compile</phase>
                    </execution>

                    <execution>
                        <id>jacoco-site</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

这里我们看看配置的两个关键点,当生命周期test-compile,即单测编译时触发jacoco的初始化,当生命周期verify时就对jacoco报告进行生成

  1. 执行sonar命令
mvn clean  verify  sonar:sonar \
-Dsonar.host.url=http://*******.com \
-Dsonar.login=********** \
-Dsonar.projectKey=jacoco-demo \
-Dsonar.projectName=jacoco-demo \
-Dsonar.java.source=1.8 \
-Dsonar.branch.name=master \
-Dsonar.java.coveragePlugin=jacoco \
-Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml

此命令会触发单测,verify命令会触发报告,然后通过
-Dsonar.java.coveragePlugin=jacoco
-Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
指定报告类型和报告的本地路径就可以轻松上传报告到jacoco

使用上就是这么简单,当然在集成上也会有一些坑,比如springboot运行junit5会出现无法触发的问题等
,据说是版本不兼容的问题,我们只需通过pom指定版本就可解决文章来源地址https://www.toymoban.com/news/detail-675893.html

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <skipTests>false</skipTests>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit47</artifactId>
                        <version>2.19.1</version>
                    </dependency>
                    <dependency>
                        <groupId>org.junit.platform</groupId>
                        <artifactId>junit-platform-surefire-provider</artifactId>
                        <version>1.1.0</version>
                    </dependency>
                    <dependency>
                        <groupId>org.junit.jupiter</groupId>
                        <artifactId>junit-jupiter-engine</artifactId>
                        <version>5.1.0</version>
                    </dependency>
                </dependencies>
            </plugin>

到了这里,关于jacoco单测报告怎么同步到sonarqube的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 【jacoco】对基于 SpringBoot 和 Dubbo RPC 的项目生成测试覆盖率报告:实践+原理

    基于 Dubbo RPC 的项目中有一个提供者项目backend、一个消费者项目gateway、以及注册中心nacos。本篇文章记录在windows本地对该框架的测试过程,以及介绍jacoco的基本原理 官网下载安装包解压到本地,https://www.jacoco.org/jacoco/ 只需要用到jacoco/lib 文件夹中的 jacocoagent.jar 以及jacococl

    2024年02月09日
    浏览(39)
  • java & jacoco & powerMock 单元测试覆盖率为0怎么解决

    我们项目中使用powerMock作为单元测试的mock工具,统计项目测试覆盖率使用jacoco编译的结果上传到sonar,但是jacoco 和 powerMock在运行时runtime加载代码的时候自定义了类加载器,所以就会有冲突,导致测试覆盖率为0。 使用命令 mvn clean verify sonar:sonar上传jacoco编译结果(这里sonar命令

    2023年04月08日
    浏览(41)
  • Selenium+JUnit的自动化测试报告

    文章摘要:         本文记录了作者本人的交流论坛项目的自动化测试报告具体内容。其中其中包括了对项目测试用例的设计、测试工具的选择、测试环境的准备部署和项目测试的代码设计。较为完整的展现了自动化测试的全过程。           在测试之前,首先要做的工作

    2024年02月04日
    浏览(42)
  • pytest生成 junit-xml 测试报告

    pytest 生成junit-xml 测试报告,那么生成的xml报告有什么用呢?可以集合一些持续集成工具(如jenkins…等)方便查看报告。 命令行参数有2个跟 junit-xml 报告相关的参数   --junit-xml=path      create junit-xml style report file at given path.   --junit-prefix=str    prepend prefix to classnames in junit

    2024年02月10日
    浏览(34)
  • 在eclipse里进行Junit单元测试并生成测试报告

    eclipse里自带Junit,不需要下载相应jar包,所以你只需要新建一个Java Project,在里面写你想要测试的java类文件就可以了。 首先,创建一个Java Project: 写一个计算器类Calculator作为要测试的类: 代码如下: 然后我们就可以来进行单元测试啦~ 这里选Junit4也是可以的,然后 Finish

    2024年02月05日
    浏览(40)
  • 软件质量保证与测试技术实验报告(四)——JUnit单元测试

    1.实验名称——JUnit单元测试 2.实验目的 (1)利用Junit进行单元测试,理解单元测试的任务、同时理解这类测试工具的实现原理; (2)理解断言的基本概念和断言测试方法; 3.实验内容 题目1:完成课件中Score_List的单元测试。 题目2:这是一个简单的计算器类——Computer,能

    2023年04月23日
    浏览(46)
  • 什么是安全测试报告,怎么获得软件安全检测报告?

    安全测试报告 软件安全测试报告: 是指测试人员对软件产品的安全缺陷和非法入侵防范能力进行检查和验证的过程,并对软件安全质量进行整体评估,发现软件的缺陷与 bug,为开发人员修复漏洞、提高软件质量奠定坚实的基础。 第三方软件测试机构是按照国家检测相关标准

    2024年02月11日
    浏览(47)
  • 【HDFS单测】与单测编写相关的一些工具类及方法(大纲篇)持续更新

    MiniDFSCluster 可以用这个类创建一个单进程的DFS集群用来进行单元测试。 一般是采用MiniDFSCluster$Builder去建造出一个MiniDFSCluster对象。builder可以指定很多参数 获取cluster里的某个DataNode对象 【HDFS】单测中MiniDFSCluster获取某个DataNode对象 MiniRouterDFSCluster 用来模拟一个有多台Router的

    2024年02月16日
    浏览(34)
  • 一文750字教你性能测试报告怎么写

    1.系统概述 2.测试目的范围与目标 测试目的 测试对象范围 测试指标范围 3.测试工具及环境 测试环境架构 性能测试环境 性能测试环境基本配置 测试工具 4.测试记录及结果分析 场景描述 测试结果数据 测试问题及结果分析 5.稳定性测试 场景描述 测试结果图表 测试结果及分析

    2024年02月06日
    浏览(41)
  • 使用jacoco插件时提示skipping jacoco execution due to missing data file

    由于项目中需要进行单元测试覆盖率的扫描,并导出扫描报告,在项目中使用了 查看target目录下并没有 test-classes 目录或者目录为空 后来查看原来是因为 maven-compiler-plugin 里面设置了跳过单元测试,删除configuration标签即可。  当执行mvn install时,发现有些单元测试执行失败了

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包