Maven Findbugs plugin - How to run findbug on the test classes

最后都变了- 提交于 2019-11-29 18:50:14

问题


Maven version: 3.3.3. Findbugs plugin version: 3.0.1

  1. I'm using the findbugs-maven-plugin and I need to run findbugs plugin on src and test classes. Currently, it is only applied to the source classes

    Target
    |_ classes
    |_ test-classes
    |_ findbugs (only have results regarding classes folder)
    
  2. I need to do the same for the PMD plugin. Same hint maybe?

Related issues:

  • FindBugs filter file for ignoring JUnit tests
  • How to run findbug on the test code

Findbugs maven configuration:

<profile>
    <id>findbugs</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>${findbugs.version}</version>
                <configuration>
                    <effort>Max</effort>
                    <failOnError>true</failOnError>
                    <threshold>Low</threshold>
                    <xmlOutput>true</xmlOutput>
                    <includeTests>true</includeTests>
                    <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
                </configuration>
                <executions>
                    <execution>
                        <id>analyze-compile</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                            <goal>findbugs</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</profile>

回答1:


In the configuration of the findbugs-maven-plugin, you need to explicitely set the includeTests element to true for FindBugs to analyze the test classes:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <version>3.0.1</version>
  <configuration>
    <!-- rest of configuration -->
    <includeTests>true</includeTests>
  </configuration>
</plugin>

Also, the plugin should be bound to the verify phase so that FindBugs is executed after compilation of source and test classes.

For the maven-pmd-plugin, it is actually the same: the element includeTests must be set to true in the plugin configuration.



来源:https://stackoverflow.com/questions/33234692/maven-findbugs-plugin-how-to-run-findbug-on-the-test-classes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!