@autowire未在junit

时间:2019-06-01 07:40:00

标签: java spring spring-boot junit annotations

我是Spring Boot的新手,我正在为REST Api编写Junit。因此,运行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;
}

//在这里,当spring上下文试图起床时,spring抛出异常

即将到来的异常是:

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类中时,一切都很好。

0 个答案:

没有答案