Sonarqube & Java ~ Как параметризовать «тесты должны включать правило утверждения» для распознавания пользовательских утJAVA

Программисты JAVA общаются здесь
Anonymous
Sonarqube & Java ~ Как параметризовать «тесты должны включать правило утверждения» для распознавания пользовательских ут

Сообщение Anonymous »

У меня есть тест, который выглядит так: < /p>
@Test
void postUploadShouldReturnOk() throws Exception {
String body = prepareCorrectBody(true);

myTestUtils.performRequestAndAssertStatus(body, status().isOk());
}
< /code>
У меня есть целая куча этих тестов в разных тестовых классах, которые все следуют за этой шаблоном, с различными телами и ожидаемыми статусами. Вот почему я извлек в утилите, чтобы избежать повторения, чтобы избежать повторения. Однако с тех пор, как я это сделал, Sonarqube отметил это как вопрос, заявив, что «тесты должны включать утверждения Java: S2699» < /p>
Теперь я прочитал документацию для этого правила, которое можно найти здесь:
https://next.sonarqube.com/sonarqube/co ... va%3AS2699> Согласно этой документации, должно быть возможно параметризовать правило так, чтобы это было распознавать мое пользовательское утверждение: Furthermore, as new or custom assertion frameworks may be used, the rule can be parametrized to define specific methods that will also be considered as assertions. No issue will be raised when such methods are found in test cases. The parameter value should have the following format #, where MethodName can end with the wildcard character. For constructors, the pattern should be #.< /code> < /p>

Пример: com.company.comparetotester#compare*, com.company.customassert#customassertmethod, com.company.checkverifier#. /> CustomAssertionMethods

Список, разделенные с запятой, СПИСОК полностью квалифицированных символов метода, которые следует рассматривать как методы утверждения. Символ подстановочного знака может использоваться в конце имени метода.sonar {
properties {
property "sonar.gradle.skipCompile", "true"
property "sonar.projectKey", "my-service_12345678-1234-1234-1234-123412341234"
property "sonar.projectName", "My-Service"
property "sonar.coverage.exclusions", "**/MatomoClientImpl.java, **/ConverterClientImpl.java,"
property "sonar.java.customAssertionMethods", "my_service.MyTestUtils#performRequestAndAssertStatus"
}
}
< /code>
Однако это не сработало. Я попробовал все вариации, о которых я мог придумать, но никто из них не работал. Согласно документации, это должно быть возможно, верно?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ns-rule-to

Вернуться в «JAVA»