Ошибка JUnit: не удалось загрузить ApplicationContext

Кажется, ничего не работает

Я пытаюсь запустить простой тест:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/applicationContext.xml"})
@Transactional
public class EmailServiceTest {

Я также пробовал:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"src/main/webapp/WEB-INF/applicationContext.xml"})
@Transactional
public class EmailServiceTest {

Наряду с несколькими другими вещами вместо «местоположения», такими как «путь к классам» и «файл».

«ApplicationContext» находится:

src
    main
        webapp
            WEB-INF
                applicationContext.xml

Но тест JUnit все еще говорит: Не удалось загрузить ApplicationContext


person Amd046    schedule 26.06.2017    source источник
comment
Нет, он говорит об этом и предоставляет подробное сообщение об ошибке, например, говорит, какой компонент он пытался найти, но не смог. Разместите это сообщение. В этом случае, скорее всего, ваш applicationContext.xml не находится ни в одном из этих мест на пути к классам. Если вы новичок в Spring, я настоятельно рекомендую использовать Spring Boot и придерживаться его соглашений (включая отказ от использования устаревшего XML), пока вы не познакомитесь со Spring в целом.   -  person chrylis -cautiouslyoptimistic-    schedule 26.06.2017


Ответы (4)


Проблема была решена после того, как мы поняли, что в нашем файле сборки отсутствует информация, относящаяся к тестированию. Такая информация, как «app.properties» и «applicationContext», не копировалась в ресурсы тестирования. Так что технически ни один из них не был на пути к классам.

person Amd046    schedule 28.06.2017

Не удалось загрузить ApplicationContext, это может произойти по другим причинам. Пройдите трассировку стека и найдите причину этой ошибки. В моем случае я получил эту ошибку, потому что у меня была опечатка в имени файла xml контекста приложения.

person Ramesh    schedule 14.09.2020

вам нужно использовать @ContextConfiguration(locations = { "file:./src/main/resources/ApplicationContext.xml" }) после @RunWith(SpringJUnit4ClassRunner.class). и создайте файл test.java по адресу /src/test/java/your-package-name.

person Anshul Sharma    schedule 26.06.2017

Вы должны указать местоположение контекста приложения в пути к классам. src/main добавляется в путь к классам. Поэтому нужно указать только webapp/WEB-INF/applicationContext.xml следующим образом: @ContextConfiguration(locations = {"webapp/WEB-INF/applicationContext.xml"}).

person vhula    schedule 26.06.2017