#micronaut
#micronaut
Вопрос:
Мы смотрели на то, как относится к начальной загрузке приложения EmbeddedServer
при выполнении тестов. На данный момент мы понимаем, что начальная загрузка приложения Micronaut может быть примерно такой:
public class Application {
public static void main(String[] args) {
Micronaut.build(args)
.eagerInitSingletons(true)
.mainClass(Application.class)
// plus some other stuff you might want to configure here
.start();
}
}
Однако запуск встроенного сервера в тесте, насколько мы можем судить, будет выполнять многое из этого неявно, при выполнении:
EmbeddedServer server = ApplicationContext.run(EmbeddedServer.class);
Код в main
методе Application
больше не актуален, и тест может выполняться с несколько иной конфигурацией контекста приложения (и с готовыми настройками).
Вероятно, мы можем найти несколько решений, чтобы убедиться, что контекст приложения загружается точно таким же образом в обоих случаях. Но сначала я хотел проверить, что мы не упускаем трюк, и посмотреть, есть ли у Micronaut какие-либо рекомендуемые методы для этого сценария.
Комментарии:
1. github.com/micronaut-projects/micronaut-test/issues/277
2. Спасибо, Джефф, и спасибо вам за ваш быстрый ответ! Я думаю, что здесь есть еще один, более широкий момент: чтобы иметь уверенность в четности поведения, нам понадобится
@MicronautTest
эквивалент каждой настройки вMicronaut
классе. В конечном итоге это станет непрактичным. В то же время большинство значений по умолчанию достаточно разумны (как и обычно в Micronaut!), Поэтому маловероятно, что нам понадобится управлять всеми этими настройками с помощью@MicronautTest
. Я просто хотел убедиться, что мы помним, что более широкая точка зрения и проблема дизайна выходят за рамки eagerInitSingletons.3. Спасибо за отзыв