Отключить периодическое выполнение задачи в Micronaut во время юнит-теста - PullRequest
0 голосов
/ 17 июня 2019

Теперь я отключаю периодические задачи, устанавливая initialDelay для каждой периодической задачи со значением 10h в конфигурации приложения, которая используется во время модульных тестов.

Тогда аннотация для метода задачи выглядит следующим образом:

@Scheduled(fixedDelay = '10s', initialDelay = '${some-domain.periodic-task.initial-delay}')
void periodicTask() {
    // periodic task implementation
}

И в application.yaml конфигурация, используемая в модульном тесте:

someDomain:
  periodicTask:
    initialDelay: 10h

Вопрос в следующем: Есть ли лучший способ, как отключить периодическое выполнение задач в Micronaut во время модульного теста?

Потому что я чувствую, что мое решение не очень хорошее - это обходной путь.Но я не нашел каких-либо глобальных настроек для этого или какой-либо конкретной аннотации, которую можно использовать в модульном тесте для достижения этого и т. Д.

Спасибо

1 Ответ

1 голос
/ 17 июня 2019

Есть ли лучший способ отключить выполнение периодических задач в Micronaut во время модульного теста?

Это действительно зависит от подробностей, но один из вариантов - пометить компоненты, содержащие периодическиезадачи с @Requires(notEnv="test").

...