如何排除易于出错的单元测试?

时间:2019-04-18 19:06:56

标签: java maven-compiler-plugin errorprone

运行maven-compiler-plugin:3.8.0:testCompile @ foo-child时,线程转储显示容易出错。我相信有一个容易出错的错误,但是现在我宁愿不要在单元测试上运行容易出错的错误。

我有一个父pom.xml:

<modules>
  <module>foo-child</module>
</modules>
<dependencyManagement>
  <dependency>
    <groupId>com.google.errorprone</groupId>
    <artifactId>error_prone_annotations</artifactId>
  </dependency>
  // also has dependency for io.norberg auto-matter and com.google.auto.value auto-value
</dependencyManagement>
<build>
  <plugins>
     <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        // also has annotationProcessorPaths configuration for auto-matter and auto-value
     </plugin>
  </plugins>
</build>

我可以在foo-child pom.xml中添加任何内容,让我完全排除maven-compiler-plugin:3.8.0:testCompile @ foo-child

我不能完全排除容易出错的可能性,因为番石榴之类的东西都依赖于它。

编辑:似乎this用户正在尝试解决相同的问题。您知道我如何将那里给出的解决方案应用于我的案件吗?

4 个答案:

答案 0 :(得分:3)

使用容易出错的命令行标志来禁用检查:-XepDisableAllChecks

类似的answer用于禁用bazel中易于出错的内容

  

将--javacopt =“-XepDisableAllChecks”添加到您的bazelrc

对于特定测试,请使用-XepExcludedPaths

  

您可以通过-XepExcludedPaths标志将某些路径从易错检查中完全排除

-XepExcludedPaths:.*/build/generated/.*

答案 1 :(得分:2)

您可以为此使用Inclusions and Exclusions of Tests插件。

答案 2 :(得分:2)

您可以将-XepExcludedPaths编译器选项添加到您的Maven构建中。

https://errorprone.info/docs/flags

答案 3 :(得分:0)

您可以将Maven配置文件添加到foo-child模块,该模块将运行构建而不会出错。另外,您还可以使该配置文件的激活取决于某些参数,并在父pom中设置该参数的值。