Merge branch 'master' into pr/3961
This commit is contained in:
@ -4,6 +4,8 @@
|
||||
|
||||
package net.sourceforge.pmd.lang.java.rule.design;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -41,6 +43,17 @@ public class ImmutableFieldRule extends AbstractLombokAwareRule {
|
||||
CHECKDECL
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Collection<String> defaultSuppressionAnnotations() {
|
||||
Collection<String> defaultValues = new ArrayList<>(super.defaultSuppressionAnnotations());
|
||||
defaultValues.add("org.mockito.Mock");
|
||||
defaultValues.add("org.mockito.InjectMocks");
|
||||
defaultValues.add("org.springframework.beans.factory.annotation.Autowired");
|
||||
defaultValues.add("org.springframework.boot.test.mock.mockito.MockBean");
|
||||
|
||||
return defaultValues;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object visit(ASTClassOrInterfaceDeclaration node, Object data) {
|
||||
Object result = super.visit(node, data);
|
||||
|
@ -572,4 +572,35 @@ public class ExampleImmutableField {
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
|
||||
<test-code>
|
||||
<description>#3874 [java] ImmutableField reports fields annotated with @Autowired (Spring) and @Mock (Mockito)</description>
|
||||
<expected-problems>0</expected-problems>
|
||||
<code><![CDATA[
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
public class ExampleImmutableField {
|
||||
|
||||
@Mock
|
||||
private Foo foo;
|
||||
|
||||
@InjectMocks
|
||||
private Bar bar;
|
||||
|
||||
@MockBean
|
||||
private Baz Baz;
|
||||
|
||||
@Autowired
|
||||
private Foo2 foo2;
|
||||
}
|
||||
|
||||
class Foo {}
|
||||
class Bar {}
|
||||
class Baz {}
|
||||
class Foo2 {}
|
||||
]]></code>
|
||||
</test-code>
|
||||
</test-data>
|
||||
|
Reference in New Issue
Block a user