Spring起動アプリケーションとしてアプリケーションを起動すると、ServiceEndpointConfigが正しく自動配線されます。しかし、Junitテストとして実行すると、次の例外が発生します。私はapplication.ymlファイルと異なるプロファイルを使用しています。Springユニットテスト
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MyServiceContextConfig.class,
loader = SpringApplicationContextLoader.class)
@ActiveProfiles({"unit", "statsd-none"})
public class MyServiceTest
{
}
@Configuration
public class MyServiceContextConfig {
@Bean
public MyService myServiceImpl(){
return new MyServiceImpl();
}
}
@Configuration
@Component
@EnableConfigurationProperties
@ComponentScan("com.myservice")
@Import({ServiceEndpointConfig.class})
public class MyServiceImpl implements MyService {
@Autowired
ServiceEndpointConfig serviceEndpointConfig;
}
@Configuration
@Component
@ConfigurationProperties(prefix="service")
public class ServiceEndpointConfig
{
}
エラー:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myServiceImpl':
Unsatisfied dependency expressed through field 'serviceEndpointConfig': No qualifying bean of type [com.myservice.config.ServiceEndpointConfig] found