我在一个包含MockMvc
测试的Spring Boot项目中使用PMD。这个类强制用户捕获通用的Exception
。
class MockMvc {
public ResultActions perform(RequestBuilder requestBuilder) throws Exception {}
}
使用会导致PMD错误 - SignatureDeclareThrowsException。我想要抑制所有@Test
方法的检查。因此,我尝试遵循一个Stackoverflow答案,但配置更改没有效果。
<rule ref="rulesets/java/strictexception.xml/SignatureDeclareThrowsException" >
<properties>
<!-- Ignore @Test methods -->
<property name="violationSuppressXPath" value="
//ClassOrInterfaceBodyDeclaration/Annotation/MarkerAnnotation//Name[@Image='Test']" />
</properties>
</rule>
请问我该如何实现它?
抽象语法树(AST)显示测试方法的以下子树。
> ClassOrInterfaceBodyDeclaration
> Annotation
> MarkerAnnotation
> Name:Test
> MethodDeclaration:(public)
> ResultType:(void)
...