美文网首页
jacoco-代码覆盖率检查

jacoco-代码覆盖率检查

作者: jianshuqiang | 来源:发表于2019-12-29 23:01 被阅读0次

    1、在maven的插件中添加以下配置

     <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.4</version>
                    <configuration>
                        <destFile>target/coverage-reports/jacoco-unit.exec</destFile>
                        <dataFile>target/coverage-reports/jacoco-unit.exec</dataFile>
                        <includes>
                            <include>**/codecover/**</include>
    
                            <!--<include>**/service/impl/*.class</include>-->
                        </includes>
                        <!-- rules里面指定覆盖规则 -->
                        <rules>
                            <rule implementation="org.jacoco.maven.RuleConfiguration">
                                <element>BUNDLE</element>
                                <limits>  
                                    <!-- 方法覆盖到50% -->
                                    <limit implementation="org.jacoco.report.check.Limit">
                                        <counter>METHOD</counter>
                                        <value>COVEREDRATIO</value>
                                        <minimum>0.50</minimum>
                                    </limit>
                                    <!-- 分支覆盖到50% -->
                                    <limit implementation="org.jacoco.report.check.Limit">
                                        <counter>BRANCH</counter>
                                        <value>COVEREDRATIO</value>
                                        <minimum>0.10</minimum>
                                    </limit>
                                    <!-- 类覆盖到100%,不能遗失任何类 -->
                                    <limit implementation="org.jacoco.report.check.Limit">
                                        <counter>CLASS</counter>
                                        <value>MISSEDCOUNT</value>
                                        <maximum>0</maximum>
                                    </limit>
                                </limits>
                            </rule>
                        </rules>
                    </configuration>
                    <executions>
                        <execution>
                            <id>jacoco-initialize</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <!--这个check:对代码进行检测,控制项目构建成功还是失败-->
                        <execution>
                            <id>check</id>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                        <!--这个report:对代码进行检测,然后生成index.html在 target/site/index.html中可以查看检测的详细结果-->
                        <execution>
                            <id>jacoco-site</id>
                            <phase>package</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    

    2、编写测试类
    例如:
    测试 /codecover/ 这个包下面的类(这个包下我只有一个类)

    @Component
    public class TestCodeCover {
        private String getValve() {
            System.out.println("h");
            int i=0;
            if(i>0){
                System.out.println("1");
            }else{
                System.out.println("0");
            }
            return "";
        }
        public void tets2() {
            this.getValve();
        }
    }
    

    测试类(在test文件夹下)

     @Autowired
        private TestCodeCover testCodeCover;
    
        @Test
        public void tet() {
    
            testCodeCover.tets2();
        }
    
    

    3、进行打包(package或者install都行)
    不要跳过测试类
    4、生成的文件


    image.png

    5、进行访问


    image.png
    6、查看具体的
    image.png

    相关文章

      网友评论

          本文标题:jacoco-代码覆盖率检查

          本文链接:https://www.haomeiwen.com/subject/habuoctx.html