для меня это не случай, а состояние, связанное с окружающей средой. Я решу эту проблему, используя пружинный профиль.
Шаг 1: Сначала создайте интерфейс
public interface DeviceStatisticsSyncHandler {
public void handle(ApplicationReadyEvent event);
}
Шаг 2: Создание реализации дляпроизводство
@Component
@Profile("!test")
public class DeviceStatisticsSyncHandlerImpl implements DeviceStatisticsSyncHandler {
@EventListener
@Override
public void handle(ApplicationReadyEvent event) {
syncDeviceStatisticsDataSync();
}
}
шаг 3: создать реализацию теста
@Component
@Profile("test")
public class DeviceStatisticsSyncHandlerTestImpl implements DeviceStatisticsSyncHandler {
@EventListener
@Override
public void handle(ApplicationReadyEvent event) {
//do Nothing
}
}
последний шаг
Все, что вам нужноЧтобы сделать, установите / переключите свойство
-Dspring.profiles.active=test
или
-Dspring.profiles.active=prod