Я новичок в весенней загрузке и пишу Junit для моего REST Api. Поэтому моему классу требуется много аннотаций для запуска Junit.Поэтому я планировал поместить всю аннотацию в одну пользовательскую аннотацию и использовать эту пользовательскую аннотацию в своем классе Junit.Но теперь мой Autowire перестал работать.
Я пытался создать пользовательскую аннотацию и использовал ее в своем классе Junit, но теперь аннотация @Autowire перестала работать.
Ниже приведен код пользовательской аннотации:
@Inherited
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.CLASS)
@Documented
@Category(UnitTest.class)
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {AptDataApiApplicationRepo.class })
@TestPropertySource("classpath:application-test.properties")
public @interface RepoTestConfig {
}
// Код моего класса JUnit
@RepoTestConfig
public class HolidayRepoTest {
@Autowired
private IHolidayRepo iHolidayRepo;
}
// здесь springing выдает исключение, когда пружинный контекст пытается получитьup
Ожидается исключение:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.demo.repository.IHolidayRepo' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
@ Примечание. Когда я помещаю все аннотации в класс HolidayRepoTest, все в порядке.