В тесте SpringBoot DataSourceHandler создается в AppTestCfg , но DataSource создается в AppCfg . Почему они оба не созданы в AppTestCfg ?
@Configuration
@EnableIntegration
public class AppCfg {
@Bean
public DataSourceHandler getDataSourceHandler(DataSource dataSource) {
return new DataSourceHandler(dataSource);
}
@Bean
public DataSource getSource(DataSourceProps props) {
// create data source
}
}
@Configuration
public class AppTestCfg extends AppCfg {
@Bean
public DataSourceHandler getDataSourceHandler(){
return new MockDataSourceHandler();
}
@Bean
public DataSource getSource(){
return null;
}
}
@RunWith(SpringRunner.class)
@SpringBootTest(classes = AppTestCfg.class)
@EnableConfigurationProperties({DataSourceProps.class})
public class AppTest {
// tests
}
Если я изменю подпись getSource в AppTestCfg следующим образом, оба DataSource и DataSourceHandler создаются с использованием AppTestCfg
@Bean
public DataSource getSource(DataSourceProps props){
return null;
}