В моем коде я не хочу загружать все компоненты, определенные в классе XXApplicationConfig.
XXApplicationConfig — это аннотированный файл @Configuration, в котором определена группа компонентов Spring.
Итак, я хочу загружать только AppBean из класса XXApplicationConfig во время тестирования, чтобы сократить время загрузки теста, а также различать то, что я тестирую. Я также хочу загрузить класс, используя класс XXApplicationConfig, чтобы убедиться, что определенная конфигурация bean-компонента также верна.
Это мой тестовый класс (модифицированный) для тестирования класса AppBean.
Не могли бы вы сообщить мне, является ли это правильным подходом, и предложить, как сделать его лучше? В настоящее время этот подход, кажется, работает. Но не уверен, что это правильный способ приблизиться к нему.
@ContextConfiguration(loader=AnnotationConfigContextLoader.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class ApplicationTest {
@Configuration
@PropertySources(value = {@PropertySource("classpath:test.properties")})
static class MyTestConfiguration {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceHolderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
@Bean
public XXApplicationConfig xxAppConfig() {
return new XXApplicationConfig();
}
@Bean
public CustomTestService customTestService() {
return new CustomTestService();
}
@Bean
public AppBean appBean() throws Exception {
return XXApplicationConfig().appBean();
}
}
@Autowired
private AppBean appBean;
@Test
public void testAppBean() {
test appBean.doSomething();
}
}