Archunit - Правило проверить @SpringBootApplication Class должен содержать только общедоступный метод void main (final SJAVA

Программисты JAVA общаются здесь
Anonymous
Archunit - Правило проверить @SpringBootApplication Class должен содержать только общедоступный метод void main (final S

Сообщение Anonymous »

Я надеюсь написать тест на архюн, который выполняет следующее: < /p>
для класса, аннотированного с @springbootapplication: < /p>
  • Имя класса должно закончиться приложением < /li>
    Во всем проекте должен быть только один класс, аннотированный с @springbootapplication < /li>
    Класс должен быть публичным
  • Класс не должен содержать ничего, нет поля, без постоянного, ничего другого, кроме одного публичного статического основного метода.
@SpringBootApplication
public class MySpringBootApplication {

public static void main(final String[] args) {
SpringApplication.run(MySpringBootApplication.class);
}

}
< /code>
Выше было бы допустимым случаем. < /p>
Я пытаюсь написать правило: < /p>
@Test
void springBootApplicationClassShouldOnlyContainOneMethodAndNothingElse() {
classes()
.that()
.areAnnotatedWith(SpringBootApplication.class)
.should()
.haveNameMatching(".*Application")
.check(importedClasses);
}
< /code>
Но мне трудно с последними тремя правилами. < /p>
Вопрос: < /p>
Что будет Будь правилом архюнита, для которого можно проверить приведенный выше сценарий?

Подробнее здесь: https://stackoverflow.com/questions/794 ... ain-the-pu

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