Вопрос

Я пытаюсь протестировать свое приложение с помощью junit.

Поэтому я установил следующий класс:

родовое слово

}

Итак, проблема в том, что кажется, что мой сервлет-диспетчер не может отправлять запросы ни на один из моих контроллеров.

Думаю, что с конфигурацией что-то есть - contextConfigurationLocation. Похоже, он может найти файл (иначе возникнет исключение), но не загружает конфигурацию

Регистратор говорит:

org.springframework.web.servlet.PageNotFound - не найдено сопоставление для HTTP-запроса с URI [http:// localhost: 8080 / myapp / abc]

Но я совершенно не понимаю, что не так ...

Буду признателен за любую помощь!

Заранее спасибо

Это было полезно?

Решение

Мины работают нормально, попробуйте следующие настройки.

  1. если вы используете Junit4, вам не нужно расширять тестовый класс, подойдет программа junit runner.
  2. Загрузите конфигурацию контекста через путь к классам и убедитесь, что он доступен из пути к классам теста

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

  3. , а затем просто протестируйте аннотированные контроллеры.Я так делаю:

родовое слово

Другие советы

В моем вопросе несколько проблем:

Во-первых, невозможно расширить AbstractJUnit4SpringContextTests и использовать @RunWith (...), потому что это одно и то же.

Во-вторых, вы должны использовать не dispatcherServlert, а Handler, определив обработчик в файле application.xml и автоматически подключив его в тестовом примере через обработчик частного обработчика @Autowire ...

Тогда все должно работать нормально!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top