JaCoCo + maven 测试代码覆盖率 mvn -VM参数

JaCoCo 是一个开源的覆盖率工具

6种覆盖率统计如下

指令级覆盖(Instructions,C0coverage),分支(Branches,C1coverage)、圈复杂度(CyclomaticComplexity)、行覆盖(Lines)、方法覆盖(non-abstract methods)、类覆盖(classes)

首先在pom.xml中加入以下依赖 这个是无需加vm参数的

<build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.2</version>
                <configuration>
                    <destFile>target/coverage-reports/jacoco-unit.exec</destFile>
                    <dataFile>target/coverage-reports/jacoco-unit.exec</dataFile>
                    <excludes>
                        <!--&lt;!&ndash;这个是设置屏蔽规则的地方,在分析报告中不会出现&#45;&#45;!>-->
                        <exclude>**/*TargetManagerProvider.class
                    
                
                    
                        
                            jacoco-initialize
                            
                                prepare-agent
                            
                        
                        
                         
                        jacoco-site
                        package
                        
                            report
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                
                    false
                
            
        
    

添加依赖后,刷新maven ,然后install 如图
JaCoCo + maven 测试代码覆盖率 mvn -VM参数_第1张图片
分析结果便会在相应模块下面 target/site/jacoco/index.html 如图
JaCoCo + maven 测试代码覆盖率 mvn -VM参数_第2张图片
如果没有出现site 出现了coverage-reports\jacoco-unit.exec这个文件,那么可以执行report导出
JaCoCo + maven 测试代码覆盖率 mvn -VM参数_第3张图片
第二种需要添加vm参数的

<build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.2</version>
                <configuration>
                    <destFile>target/coverage-reports/jacoco-unit.exec</destFile>
                    <dataFile>target/coverage-reports/jacoco-unit.exec</dataFile>
                    <excludes>
                        <!--&lt;!&ndash;这个是设置屏蔽规则的地方,在分析报告中就不会出现&#45;&#45;!>-->
                        <exclude>**/*TargetManagerProvider.class
                    
                
                    
                        
                            jacoco-initialize
                            
                                prepare-agent
                            
                            
                            
                            jacocoArgLine
                        
                        
                        
                         
                        jacoco-site
                        package
                        
                            report
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
               
               
                        -Xms100m -Xmx2048m -XX:PermSize=100M -DSCRIPT_DEBUG=false -Dfile.encoding=UTF-8 ${jacocoArgLine}
                        always
                   false
                    false
                
            
        
    

然后重复上述操作

你可能感兴趣的:(JaCoCo + maven 测试代码覆盖率 mvn -VM参数)