Я не специалист по весне, но мне была предоставлена устаревшая система с огромным файлом контекста (не разделенным на модули).Загрузка частичного контекста Spring
Я хочу добавить некоторые модульные тесты, которые проверяют разные части системы с фактической конфигурацией производства. Я начал использовать классы ClassPathXmlApplicationContext/FileSystemXmlApplicationContext
для загрузки контекста, однако - это происходит навсегда. Можно ли загружать только части контекстного файла (рекурсивно) без необходимости отделять исходный файл на модули?
Update: Я просто пост здесь моя реализация решения Ральфа с использованием Maven: мой pom.xml:
<plugin>
<groupId>com.google.code.maven-config-processor-plugin</groupId>
<artifactId>maven-config-processor-plugin</artifactId>
<version>2.0</version>
<configuration>
<namespaceContexts>
<s>http://www.springframework.org/schema/beans</s>
</namespaceContexts>
<transformations>
<transformation>
<input>context.xml</input>
<output>context-test.xml</output>
<config>test-context-transformation.xml</config>
</transformation>
</transformations>
</configuration>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<phase>test</phase>
</execution>
</executions>
</plugin>
мой тест-контекстно-transformation.xml:
<processor>
<add>
<name>/s:beans</name>
<value>
<![CDATA[
default-lazy-init="true"
]]>
</value>
</add>
</processor>
Почему вы не создаете отдельные файлы конфигурации для тестов только с необходимыми компонентами/config и загружаете их в тестовые классы? –
Конфигурация довольно сложная. Я хочу убедиться, что контекст определен правильно. Убедитесь, что элементы не определены дважды и отсутствуют отсутствующие элементы. Использование всего файла также позволяет мне перебирать несколько элементов и тестировать их (обратите внимание, что я тестирую много устаревшего кода, и это позволяет мне делать это относительно быстро). – krakover