меня это очень простой класс:RunWith и ContextConfiguration странное поведение
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath*:/application-context-this-does-not-exist.xml"})
public class HTMLSourceExtractorImplTest {
@Autowired
ApplicationContext context;
@Test
public void test(){
String [] beans = context.getBeanDefinitionNames();
for(String bean : beans){
System.out.println(bean);
}
System.out.println("Testing");
}
}
Этот файл контекста, который указан в пути к классам НЕ СУЩЕСТВУЕТ. Я могу поместить практически любое имя, которое я хочу, и код не сломается. Я имею в виду, что тест работает очень хорошо, как будто этот файл действительно существует.
Если бы я сделать небольшое изменение, от: * классов в пути к классам, то клювы, говоря, что этот файл не существует, что это поведение я бы ожидать в первом случае.
Spring Version 3.2.3.RELEASE.
Может кто-нибудь объяснить это странное поведение?
EDIT
Вещи из бревен как предложено:
20:47:26,923 INFO [GenericApplicationContext] Refreshing [email protected]f6c65c: startup date [Fri Jun 07 20:47:26 PDT 2013]; root of context hierarchy
Я даже пытался вывести все бобы из контекста приложения:
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalRequiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.annotation.ConfigurationClassProcessor.importAwareProcessor
Кажется мне, что в случае wildcard, Spring создаст пустой по умолчанию контекст приложения
Я честно не вижу никакой связи между предоставленной вами документацией и созданным контекстом приложения по умолчанию. Очевидно, что один пустой контекст действительно создан, но в документации четко не сказано. Спасибо за ваш ответ. Будут выдвинуты для усилий, но я хочу, чтобы в документах было очевидное заявление. – Eugene
Я описал, что - без загрузки XML, все, что у вас осталось, - это просто пустой контекст. –
вы сделали, не сомневайтесь. Но это очевидно из кода, который я запускал. Не обижайтесь, но для меня код должен сломаться и не пройти. Я приму это позже, если не получу лучшего объяснения. Спасибо за ваше время! – Eugene