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