Monday, March 13, 2017

Code Coverage



https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://twitter.com/vdandre/status/509948858135109632?lang=en
We have a workround by not using Data-annotation but Getter and Setter annotation.
https://dzone.com/articles/static-code-analysis-and

SonarLint
https://blog.sonarsource.com/sonar-1-12-in-screenshots/

Ignore violations with the new ‘//NOSONAR’ comment

The NOSONAR tag tells Sonar to ignore all violations on a specific line whatever rule engines are being used to scan code. Of course, Sonar is still able to manage widely used //NOPMD and //CHECKSTYLE:OFF … ON. We have simply added a native way to manage false positives. This feature is a real improvement for users that have activated Findbugs rules as there was no clean way to tag a Findbugs as a false positive : there is now ‘//NOSONAR’.

NOSONAR
https://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus#NarrowingtheFocus-IgnoreCodeCoverage
# Exclude all classes ending by "Bean"
# Matches org/sonar.api/MyBean.java, org/sonar/util/MyOtherBean.java, org/sonar/util/MyDTO.java, etc.
sonar.exclusions=**/*Bean.java,**/*DTO.java
# Exclude all classes in the "src/main/java/org/sonar" directory
# Matches src/main/java/org/sonar/MyClass.java, src/main/java/org/sonar/MyOtherClass.java
# But does not match src/main/java/org/sonar/util/MyClassUtil.java
sonar.exclusions=src/main/java/org/sonar/*
# Exclude all COBOL programs in the "bank" directory and its sub-directories
# Matches bank/ZTR00021.cbl, bank/data/CBR00354.cbl, bank/data/REM012345.cob
sonar.exclusions=bank/**/*
# Exclude all COBOL programs in the "bank" directory and its sub-directories whose extension is .cbl
# Matches bank/ZTR00021.cbl, bank/data/CBR00354.cbl
sonar.exclusions=bank/**/*.cbl
https://docs.sonarqube.org/display/HOME/Frequently+Asked+Questions#FrequentlyAskedQuestions-HowtoremoveFalse-Positiveissues?

//NOSONAR

You can use the mechanism embedded in rules engine (//NOPMD...) or the generic mechanism implemented in SonarQube: put //NOSONAR at the end of the line of the issue. This will suppress the issue.

http://stackoverflow.com/questions/951569/exclude-methods-from-code-coverage-with-cobertura
http://padcom13.blogspot.com/2009/12/code-coverage-and-enum-types.html
MyEnum.valueOf(MyEnum.VALUE.toString());

https://github.com/powermock/powermock/issues/422
PowerMock can work only with JaCoCo Offline instrumentation. PowerMock uses custom class loader and reads class from disk, so all agents changes are invisible for PowerMock. In your example you're using JaCoCo agent

JaCoCo
http://automationrhapsody.com/code-coverage-with-jacoco-offline-instrumentation-with-maven/
<properties>
    <jacoco.skip.instrument>true</jacoco.skip.instrument>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.4.201502262128</version>
            <executions>
                <execution>
                    <id>jacoco-instrument</id>
                    <phase>test</phase>
                    <goals>
                        <goal>instrument</goal>
                    </goals>
                    <configuration>
                        <skip>${jacoco.skip.instrument}</skip>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

http://automationrhapsody.com/code-coverage-of-manual-or-automated-tests-with-jacoco/

https://github.com/mockito/mockito/issues/757
https://github.com/jacoco/jacoco/issues/193
I tried 2.2.28 and it worked fine. I was commenting here because it was one of the top hits when I was searching for my issue and so I figured it could help other people in the future that made their way here too.

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts