Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to skip jacoco coverage check during build?

In our project we use jacoco-maven-plugin and during the build I get this error:

[ERROR] Failed to execute goal org.jacoco:jacoco-maven-plugin:0.8.5:check (jacoco-check) on project my-project: Coverage checks have not been met. See log for details. 

I know that it's better to fix coverage and so on. But sometimes I just need to quickly build a project. Is there some kind of parameter for this purpose? Like mvn clean install -Dskip.jacoco.check=true or other way to quickly skip this check?

like image 216
IKo Avatar asked Feb 11 '20 07:02

IKo


People also ask

How do I skip JaCoCo coverage?

The check goal has a skip parameter: eclemma.org/jacoco/trunk/doc/check-mojo.html#skip - so it would be -Djacoco. skip=true - it seems this skips all of the jacoco goals. If you don't want that maybe temporarily move the check goal into a profile you can activate when back on track?

How do you exclude a class from code coverage?

The easiest way to exclude code from code coverage analysis is to use ExcludeFromCodeCoverage attribute. This attribute tells tooling that class or some of its members are not planned to be covered with tests. EditFormModel class shown above can be left out from code coverage by simply adding the attribute.

How do you exclude getters and setters from code coverage?

With the cobertura-maven-plugin setters and getters can be excluded from code coverage using the ignoreTrivial option.


2 Answers

As @wemu commented below OP u can use -Djacoco.skip=true command line option to skip Jacoco code instrumentation and coverage report generation temporarily. Examples:

mvn clean test -Djacoco.skip=true
mvn clean verify -Djacoco.skip=true
mvn clean package -Djacoco.skip=true
mvn clean install -Djacoco.skip=true
like image 142
Wlad Avatar answered Oct 16 '22 12:10

Wlad


You can skip code coverage for some java files using pom.xml or else sonar-project.properties.

Ex: use the below plugin, give the packages of java files which does not require code coverage in the tag

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.5</version>
    <executions>
        <execution>
            <id>default-prepare-agent</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>default-report</id>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
        <execution>
            <id>default-check</id>
            <goals>
                <goal>check</goal>
            </goals>
            <configuration>
                <excludes>
                    <exclude>com/sbi/mdcm/v1_0_0/insurancequote/autogen/**</exclude>
                    <exclude>com/sbi/mdcm/v1_0_0/insurancequote_resources/autogen/**</exclude>
                </excludes>
                <rules>
                    <rule>
                        <element>BUNDLE</element>
                        <limits>
                            <limit>
                                <counter>COMPLEXITY</counter>
                                <value>COVEREDRATIO</value>
                                <minimum>0.80</minimum>
                            </limit>
                        </limits>
                    </rule>
                </rules>
            </configuration>
        </execution>
    </executions>
</plugin>
        

sonar-project.properties:

sonar.exclusions=**/com/sbi/mdcm/v1_0/insurancepolicy_adapter/osi/model/*.java
like image 1
durgaPrasad Avatar answered Oct 16 '22 12:10

durgaPrasad