Setting @Autowired(required=false) globally during spring-boot test -
i can't classic xml config
<bean class="org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor"> <property name="requiredparametervalue" value="false" /> </bean>
to work in spring-boot test. i've tried equivalent java style
@bean public autowiredannotationbeanpostprocessor annotation() { autowiredannotationbeanpostprocessor annotation = new autowiredannotationbeanpostprocessor(); annotation.setrequiredparametervalue(false); return annotation; }
also no avail.
i'm trying find solution cherry-pick beans need unit testing.
here's code i'm using in test itself:
@rollback @springapplicationconfiguration({packageservicetestconfiguration.class, databaseconfiguration.class, mybatisconfiguration.class}) @activeprofiles("test") public class packageservicetest extends abstracttransactionaltestngspringcontexttests {...}
the content of packageservicetestconfiguration.class
(database , mybatis config part of apps need perform test
@configuration @componentscan(basepackages = "com.project.api.permission.service", includefilters = @componentscan.filter(service.class)) @importresource("classpath:testcontext.xml") public class packageservicetestconfiguration {}
testcontext.xml
contains test fixtures , failing autowiredannotationbeanpostprocessor
configuration
thanks @componentscan
can filter down package component configure, still not convenient xml can define each of bean need 1 liner.
i still need make @autowired
component not required globally test, , can't find way this.
Comments
Post a Comment