У меня есть проект Spring Boot (2.1.3), использующий планировщик Quartz.Он включен через стартер:
dependencies {
...
implementation('org.springframework.boot:spring-boot-starter-quartz')
}
Приложение (в основном) настроено на компонентное сканирование.Если я запускаю приложение, все в порядке.Если я запускаю тест с пометкой @SprinBootTest
, то все тоже хорошо.Но если я использую эту пользовательскую аннотацию
@DataJpaTest
@ComponentScan(basePackages = ["com.mycompany"])
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@ActiveProfiles("intTest")
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
@Inherited
annotation class JpaTest
вместо @SpringBootTest
, я получаю NoSuchBeanDefinitionException
, потому что не может быть найден Кварц Scheduler
.
Я попытался добавитьКварцевый пакет для сканирования компонентов, но это не помогает:
@ComponentScan(basePackages = ["com.mycompany", "org.quartz"])
Как можно заставить Spring подобрать Планировщик с моей настройкой теста с моей пользовательской аннотацией конфигурации?