zoukankan      html  css  js  c++  java
  • maven配置JaCoCo

    maven配置JaCoCo

    • jacoco 文档 https://www.eclemma.org/jacoco/trunk/doc/maven.html
    • https://www.eclemma.org/jacoco/trunk/doc/prepare-agent-mojo.html

    jacoco支持对单元测试的结果生产覆盖率报告。下面看在项目中配置。

    pom.xml 文件添加如下 jacoco插件引用。

    org.jacoco jacoco-maven-plugin 0.8.3
    org.jacoco jacoco-maven-plugin 0.8.3 target/jacoco.exec // report 引用jacoco文件的地址 target/jacoco-ut // report 生成的地址 target/jacoco-line/jacoco.exec // jacoco 文件生产的位置 pre-test prepare-agent post-test test report
    ```
    其中包含(includes)或排除(excludes)字段的值应该是相对于目录/ classes /的编译类的类路径(而不是包名),使用标准通配符语法:
    排除规则

    • Match zero or more characters
      ** Match zero or more directories
      ? Match a single character
      com// //可以设置只分析某部分对代码 com/src// //你也可以这样排除一个包和它的所有子包/子包

    生成jacoco覆盖率文件

    在执行mvn命令时,加上“org.jacoco:jacoco-maven-plugin:prepare-agent”参数即可。 示例:

    mvn clean test org.jacoco:jacoco-maven-plugin:0.8.3:prepare-agent install -Dmaven.test.failure.ignore=true

    其中,jacoco-maven-plugin后面跟的是jacoco的版本; 【-Dmaven.test.failure.ignore=true】建议加上,否则如果单元测试失败,就会直接中断,不会产生.exec文件
    生产jacoco.exec文件 命令
    mvn clean test org.jacoco:jacoco-maven-plugin:0.8.3:prepare-agent install -Dmaven.test.failure.ignore=true
    注:当与 jenkins集成时,也是依赖项目中当exec文件生成覆盖率报告。
    生成覆盖率文件 html (必须前一步执行成功,有jacoco.exec文件) 打开上面的html 文件
    mvn org.jacoco:jacoco-maven-plugin:0.8.3:report

    Q1: 执行时 jacoco 覆盖率文件没有生成。

    Skipping JaCoCo execution due to missing execution data file.

    原因是 jacoco 插件适用了参数 argline.和 maven-surefire-plugin argLine冲突。
    解决1: 删除maven-surefire-plugin插件下的 argLine配置。
    解决2: maven-surefire-plugin插件下的 argLine配置.放在全局位置。

  • 相关阅读:
    tensorflow学习3---mnist
    tensorflow学习2-线性拟合和神经网路拟合
    关于泛型数据结构中OrderBy的使用
    敏捷开发之观察者模式
    敏捷开发之设计文档
    C#算法实现获取树的高度
    武林高手?敏捷开发,唯velocity取胜
    C#接口多继承方法重名问题
    .Net平台技术栈?不止于此
    浅谈C#中Tuple和Func的使用
  • 原文地址:https://www.cnblogs.com/trimphNuan/p/13863269.html
Copyright © 2011-2022 走看看