Подтвердить что ты не робот

Spring - @ContextConfiguration не загружает файл конфигурации в src/test/resources

Я попытался загрузить конфигурационный файл spring в classpath src/test/resources со следующим абстрактным классом:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/applicationContext.xml"})
public class BaseIntegrationTests {

}

У меня есть файл applicationContext.xml в src/test/resources, но spring не могу загрузить его.

Спасибо.

4b9b3361

Ответ 1

Чтобы быть точным, это содержимое тестового выходного каталога (target/test-classes), который находится в пути класса, а не src/test/resources. Но ресурсы под src/test/resources копируются в тестовый выходной каталог с помощью resources:testResources цели (которая связана по умолчанию - process-test-resources).

Сказав это, ваш код выглядит отлично, и ресурсы для исходного кода теста должны были быть скопированы либо вашей IDE, либо Maven при запуске тестов и поэтому должны быть доступны в пути к классу. Поэтому должно быть что-то еще не так. Я вижу, что ваш класс является базовым классом для тестов интеграции. Вы настроили что-нибудь интересное в своем помпе? Вы можете показать это?

Ответ 2

Попробуйте использовать *, чтобы он мог искать ваш путь к классу

@ContextConfiguration(locations={"classpath*:applicationContext.xml"})

Ответ 3

Существует сообщенная ошибка с использованием зависимости spring -test (включая SpringJUnit4ClassRunner) с версиями JUnit > 4.4.

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

Ответ 4

ваш контекст приложения должен быть включен в classpath и поместить *:

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

Ответ 5

Кажется, вы используете maven и пытаетесь запустить тесты из eclipse. Проверьте папку buil (target/test-classes/) для applicationContext.xml. Если его нет, вы должны сначала создать.

Ответ 6

Я думаю, что у меня проблема simillar, Я узнал, что мой application-context.xml не был на целевых/тестовых классах/соседях на src/test/resources

Ответ 7

Если вы используете Maven и запускаете тестовые примеры из eclipse, щелкните правой кнопкой мыши > Maven > Обновление maven (ALT F5) может работать для вас.