Проверка стиля исходного кода как часть модульных тестов?

#java #unit-testing #reflection

#java #модульное тестирование #отражение

Вопрос:

Я хотел бы спросить, возможно ли (и нормально) как-то проверить сам код проекта в модульных тестах java. Я хочу проверить, есть ли неиспользуемые методы, отсутствие проверок и т. Д.

Таким образом, группа моих модульных тестов будет иметь целью проверку того, что классы написаны в соответствии с соглашениями

Я могу получить методы с помощью отражения, но не каждый отдельный оператор

Комментарии:

1. Может быть, стоит попробовать: sonarlint

Ответ №1:

Если я правильно понимаю вашу проблему, вам следует использовать плагин «checkstyle», например, для maven, не так ли:

             <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${maven-checkstyle-plugin.version}</version>
                    <configuration>
                        <configLocation>checkstyle.xml</configLocation>
                        <consoleOutput>true</consoleOutput>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>install</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
 

Где "checkstyle.xml" ваши правила для проверки и <phase>install</phase> является ли ваша цель maven для выполнения этапа проверки стиля.

для получения дополнительной информации см.

Комментарии:

1. Спасибо за ответ. К сожалению, checkstyle ограничен, и я хочу выполнить некоторые пользовательские действия, например, проверить, что все классы в пакете не имеют кода в конструкторе по умолчанию (просто пример), поскольку это очень большая команда, и никто не может проверить все. Итак, по сути, мне нужен какой-то способ получить информацию об исходном коде из модульных тестов Java

2. @dac1n Вы захотите написать пользовательскую проверку .