如何在单元测试中排除容易出错的 运行?

How to exclude error prone from being run on unit tests?

maven-compiler-plugin:3.8.0:testCompile @ foo-child 运行s 时,线程转储显示 errorprone 花费了极长的时间。我相信有一个容易出错的错误,但现在我宁愿在单元测试中只让出错而不是运行。

我有一个 parent 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 用户正在尝试解决同样的问题。你知道我如何将那里给出的解决方案应用到我的案例中吗?

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

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

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

https://errorprone.info/docs/flags

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

类似 用于禁用 bazel 中容易出错的功能

add --javacopt="-XepDisableAllChecks" to your bazelrc

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

you can completely exclude certain paths from any Error Prone checking via the -XepExcludedPaths flag

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