Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于忽略JUnit测试的FindBugs筛选器文件_Java_Ant_Junit_Findbugs - Fatal编程技术网

Java 用于忽略JUnit测试的FindBugs筛选器文件

Java 用于忽略JUnit测试的FindBugs筛选器文件,java,ant,junit,findbugs,Java,Ant,Junit,Findbugs,我需要为我的findbugs ant脚本设置一个过滤器文件,它只扫描src/*文件,而不扫描test/*文件 检查所有类时忽略名称中带有“test”的任何文件名或包名的语法是什么?FindBugs实际上是扫描已编译的类文件,而不是源路径。如果您正在将src/*和test/*文件编译到不同的目录中,则可以使用嵌套的元素 <findbugs home="${findbugs.dir}" output="xml:withMessages" outputFile="${findbugs.

我需要为我的findbugs ant脚本设置一个过滤器文件,它只扫描src/*文件,而不扫描test/*文件


检查所有类时忽略名称中带有“test”的任何文件名或包名的语法是什么?

FindBugs实际上是扫描已编译的类文件,而不是
源路径。如果您正在将src/*和test/*文件编译到不同的目录中,则可以使用嵌套的
元素

<findbugs home="${findbugs.dir}" output="xml:withMessages" 
    outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M" 
    effort="max" projectName="${ant.project.name}" 
    auxClasspathRef="findbugs.classpath" 
    sourcePath="${src.dir}">
  <class location="${src.classes.dir}"/>
</findbugs> 

顺便说一下,用FindBugs覆盖单元测试也是一个好主意。没有理由对测试使用较低的质量标准。测试中的bug就是这样,bug


当然,如果您第一次运行FindBugs,可能会有许多错误报告,但是如果您注意它们,错误计数会随着时间的推移而下降。

很好的解释。。。显然我需要开始喝咖啡什么的。删除了我的答案,这很正确,但有误导性。问题是,您在单元测试中测试错误案例(例如将null作为标记为@Nonnull的参数传递),为什么在设置findbugs时需要测试该null案例?@konstantin.zaikin,因为您也想知道在运行时可能会发生什么,不仅仅是在编译时可以推断出什么
<findbugs home="${findbugs.dir}" output="xml:withMessages" 
    outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M" 
    effort="max" projectName="${ant.project.name}" 
    auxClasspathRef="findbugs.classpath" 
    sourcePath="${src.dir}"
    excludefilter="exclude.xml">
  <class location="${classes.dir}"/>
</findbugs> 
<FindBugsFilter>
  <Match>
    <Class name="~.*Test$"/>
  </Match>
  <Match>
    <Package name="~test\..*"/>
  </Match>
</FindBugsFilter>