У меня есть отдельное приложение jar, которое использует контекст весны, как показано ниже:
class MainClass {
public static void main(final String[] args) {
AbstractApplicationContext applicationContext = new
GenericXmlApplicationContext("file-path-to-xml-config");
ClassA classA = applicationContext.getBean(ClassA.class);
...
}
}
Я пытаюсь провести интеграционный тест по методу, указанному ниже:
@ContextConfiguration(locations = { "file-path-to-test-xml-config" })
public class AbstractIT extends AbstractTestNGSpringContextTests {
@Inject
private ClassB classB;
@Test
public void testMain() {
classB.someMethod();
MainClass.main(null);
}
}
Выше приведенных настроек ниже исключения:
java.lang.IllegalStateException:
org.springframework.context.support.AbstractApplicationContext__Generated_OpenPojo@356f20b7
еще не был обновлен
Создается впечатление, что создание контекста как внутри тестового примера, так и изнутри main конфликтует, и, следовательно, выдает исключение при создании его экземпляра из метода main.
Я не хочу менять инициализацию пружины из метода main, так как это отдельное приложение. Также я хотел загрузить пружинный контекст в тесте, так как загружаю тестовый контекст в тесте.
Есть ли способ, которым я могу избавиться от этого исключения?