我无法获得经典的XML配置
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor">
<property name="requiredParameterValue" value="false" />
</bean>
在spring-boot测试中工作。我尝试过等效的Java Style
@Bean
public AutowiredAnnotationBeanPostProcessor annotation() {
AutowiredAnnotationBeanPostProcessor annotation = new AutowiredAnnotationBeanPostProcessor();
annotation.setRequiredParameterValue(false);
return annotation;
}
也无济于事。
我只是想找到一个解决方案来挑选我需要进行单元测试的豆子。
这是我在测试中使用的代码:
@Rollback
@SpringApplicationConfiguration({PackageServiceTestConfiguration.class, DatabaseConfiguration.class, MybatisConfiguration.class})
@ActiveProfiles("test")
public class PackageServiceTest extends AbstractTransactionalTestNGSpringContextTests {...}
PackageServiceTestConfiguration.class
的内容(数据库和mybatis是应用程序本身的配置部分,我需要执行测试
@Configuration
@ComponentScan(basePackages = "com.project.api.permission.service",
includeFilters = @ComponentScan.Filter(Service.class))
@ImportResource("classpath:testContext.xml")
public class PackageServiceTestConfiguration {}
testContext.xml
包含一些测试装置和失败的AutowiredAnnotationBeanPostProcessor
配置
感谢@ComponentScan
我可以过滤到要配置哪个组件的软件包,但是这仍然不如XML那样方便,我可以用一个内核实际定义我需要的每个bean。
我仍然需要在全局范围内不需要@Autowired
组件进行测试,我无法找到实现此目的的方法。