4

在我的 junit 4 测试代码中,我使用包含如下代码的测试规则:

catch (Throwable t) {
   t.printStackTrace();
   throw t;
}

Findbugs 抱怨这一点,这是理所当然的——这不应该在我们的生产代码中完成。然而,在这种情况下,我认为这种用法是合理的,我尝试使用 @SuppressFBWarnings 注释来消除 findbugs。然而,既不

@SuppressFBWarnings
private void warmUp() throws Throwable {

也不

@SuppressFBWarnings("IMC_IMMATURE_CLASS_PRINTSTACKTRACE")
private void warmUp() throws Throwable {

也不

@SuppressFBWarnings({"IMC_IMMATURE_CLASS_PRINTSTACKTRACE"})
private void warmUp() throws Throwable {

有想要的结果。

如何正确使用@SuppressFBWarnings 来抑制警告?

4

1 回答 1

10

通过对 FindBugs 注释使用以下 gradle 依赖项:

compile 'com.google.code.findbugs:findbugs-annotations:3.0.1'

这是应该工作的:

@SuppressFBWarnings(value = "IMC_IMMATURE_CLASS_PRINTSTACKTRACE", justification = "Document why this should be ignored here")
private void warmUp() throws Throwable {}
于 2017-04-12T02:14:14.760 回答