Муравей: Не могу найти мою @ContextConfiguration

У нас есть приложение Spring 3 MVC и тестовые примеры JUnit для контроллеров Spring. Версия Junit — 4.8.1, которая поддерживает аннотацию ContextConfiguration.

Вот как я добавляю конфигурацию контекста в свою тестовую заглушку

@ContextConfiguration(locations = "file:WebContent/WEB-INF/myappconfig.xml")

Я могу запустить junits локально, но когда я пытаюсь запустить это с помощью моего скрипта сборки ant, он выдает ошибку java.lang.IllegalStateException: Failed to load ApplicationContext

Я попытался установить элемент classpath в WebContent, затем до веб-информации ничего не получилось.


person user959740    schedule 08.12.2011    source источник
comment
Я предполагаю, что это проблема пути. Когда вы запускаете локально, ваш базовый путь, вероятно, отличается от того, когда вы работаете с муравьем, поэтому он находит файл: WebContent/..., но когда вы запускаете с муравьем, он не находит этот файл. Есть ли в сообщении об ошибке больше информации о том, откуда он пытается загрузить ApplicationContext при запуске из ant?   -  person digitaljoel    schedule 09.12.2011
comment
@digitaljoel Вот ошибка: Вызвано: org.springframework.beans.factory.BeanDefinitionStoreException: IOException анализирует XML-документ из URL [файл: WebContent/WEB-INF/myappconfig.xml]; вложенным исключением является java.io.FileNotFoundException: WebContent\WEB-INF\myappconfig.xml (Система не может найти указанный путь.)   -  person user959740    schedule 12.12.2011
comment
@digitaljoel Вот как я пытаюсь добавить classpath в junit: ‹junit printsummary=yes haltonfailure=no fork=yes maxmemory=512m› ‹classpath› ‹path location=${source}/ABCWeb/›   -  person user959740    schedule 12.12.2011
comment
Я подозреваю, что вам придется изменить местоположение контекстной конфигурации. Узнайте, что такое базовый каталог, когда вы запускаете свои тесты, а затем узнайте, что это такое, когда вы запускаете ant, и выясните, как правильно указать свое местоположение.   -  person digitaljoel    schedule 12.12.2011


Ответы (1)


я использую

@ContextConfiguration({ "classpath*:application-test.xml" })

и мой application-test.xml находится в main/resources

person mfirry    schedule 13.12.2011