2014-01-31 1 views
0

У меня возникла проблема с моими модульными тестами. В настоящее время я использую ehcache с весной 3.2 (@Cacheable), все работает хорошо, но я бы хотел отключить кеш во время моих модульных тестов.Spring 3.2 disable @Cacheable во время модульных тестов

Таким образом, в SRC/тест/ресурсы/ehcache.xml я писал:

<cache name="myCache" 
     maxElementsInMemory="1" 
     eternal="false" 
     timeToIdleSeconds="0" 
     timeToLiveSeconds="0" 
     overflowToDisk="true" 
     maxElementsOnDisk="0" 
     diskPersistent="false" 
     diskExpiryThreadIntervalSeconds="0" 
     memoryStoreEvictionPolicy="LRU"/> 

но кэш все еще работает! У кого-нибудь есть идея?

Заранее благодарим за вашу помощь!

+0

Вы можете попытаться выселить из вторичного кеша в качестве одного из параметров. (как раз перед тем, как запустить тестовое тестирование устройства.) – Zeus

ответ

0

Весенний профиль выполнен для этой цели. См. Документацию here, here.

Определить профиль "test" в вашем кеш-менеджере bean (<bean profile="test" ... />) или верхний и активировать этот профиль с аннотацией @ActiveProfiles("test").

Если ваша проблема не устранена, убедитесь, что контекст, определяющий кеш, является корневым контекстом.

+0

Спасибо за ваш ответ, но проблема в том, что я не знаю, что писать, чтобы отключить кеш, даже если я не объявляю, что диспетчер кэша в кеше applicationContextTest.xml все еще включен –

+0

Извините, я неправильно понял. Не могли бы вы указать конфигурационный файл или класс Spring, а также класс Entes class plesae? –

+0

Чтобы отключить ehcache, просто добавьте это свойство/значение: 'net.sf.ehcache.disabled = true'. Вы можете сделать это в коде в аннотированном методе '@ BeforeClass' с помощью' System.setProperty («net.sf.ehcache.disabled», Boolean.TRUE.toString()); ' –

 Смежные вопросы

  • Нет связанных вопросов^_^