Я пытаюсь ускорить тесты интеграции в нашей среде. Все наши классы проходят аутсорсинг. В нашем файле applicationContext.xml мы определили следующее:
<context:annotation-config/>
<context:component-scan base-package="com.mycompany.framework"/>
<context:component-scan base-package="com.mycompany.service"/>
...additional directories
Я заметил, что Spring сканирует все указанные выше каталоги и затем выполняет итерацию по каждому bean и кэширует свойства каждого из них. (Я просмотрел сообщения DEBUG от spring)
В результате следующий тест занимает около 14 секунд:
public class MyTest extends BaseSpringTest {
@Test
def void myTest(){
println "test"
}
}
Есть ли способ ленивой загрузки конфигурации? Я попытался добавить default-lazy-init="true"
, но это не сработало.
В идеале создается только beans, требуемое для теста.
заблаговременно.
Обновить. Я должен был сказать это раньше, я не хочу иметь файл контекста для каждого теста. Я также не думаю, что один контекстный файл только для тестов будет работать. (Этот тестовый контекстный файл в конечном итоге включит все)