Я использую PMD для проекта Spring Boot, который содержит MockMvc
тестов. Класс заставляет пользователя ловить общий 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>
Как я мог этого достичь?
Абстрактное синтаксическое дерево показывает следующее поддерево для метода тестирования.
> ClassOrInterfaceBodyDeclaration
> Annotation
> MarkerAnnotation
> Name:Test
> MethodDeclaration:(public)
> ResultType:(void)
...