Добавление / src / main / resources в Classpath при запуске тестов Spring JUnit из Eclipse - PullRequest
15 голосов
/ 09 марта 2012

Есть ли способ получить тесты JUnit в Eclipse (в частности, я использую SpringJUnit4ClassRunner), чтобы использовать ресурсы из src/main/resources, а также src/test/resources?

Плагин Maven Surefire делает это, но запуск одного конкретного юнит-теста из Eclipse - нет.

У меня есть загрузка конфигурации Spring в src/main/resources/spring-config/, и я хочу переопределить два конкретных файла. Я поместил эти специфичные для теста переопределения в src/test/resources/spring-config/, и при запуске модульных тестов через Maven все работает. Когда я запускаю тест JUnit из Eclipse, only тестовые файлы доступны, и неудивительно, что мой контекст не загружается.

Обновление

Появляется, что классы Spring, которые настраивают контекст теста, не могут найти ресурсы из src/main/resources/ при использовании подстановочного знака, но найдет их , если я укажу их явно.

Не находит вещи из src/main/resources/

@ContextConfiguration(locations = {"classpath:/spring-config/*.xml"})

Находит ли указанные файлы из src/main/resources/

@ContextConfiguration(locations = {"classpath:/spring-config/*.xml",
                                   "classpath:/spring-config/app-aws.xml"})

1 Ответ

7 голосов
/ 09 марта 2012

Это на самом деле ограничение Spring, а не JUnit.Подробнее см. http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/resources.html#resources-wildcards-in-path-other-stuff.

Решение состоит в том, чтобы поместить файлы конфигурации Spring в пакет, а не в корневой пакет.

...