Как использовать HandlerAdapter в среде Spring MVC для тестирования действий контроллера @ResponseBody? - PullRequest
1 голос
/ 18 ноября 2011

В настоящее время я использую HandlerAdapter Spring MVC для проверки аннотаций моих действий контроллера Spring, чтобы убедиться, что переменные пути, параметры запроса, атрибуты сеанса, @Valid и т. Д. Пишутся правильно.

Я столкнулся с проблемой, когда если действие контроллера имеет @ResponseBody и не возвращает ModelAndView, я не могу проверить ответ, используя HandlerAdapter.

. Я нашел вопрос по этому вопросу.сайт, который связан, но принятый ответ не является удовлетворительным:

Как выполнить модульное тестирование ResponseBody или ResponseEntity, отправленного пружинным контроллером MVC?

Как я могупроверить аннотации и результаты одновременно?Или мне нужно написать два теста - один для проверки аннотаций, а другой для непосредственного вызова метода контроллера?

Спасибо

Ответы [ 2 ]

1 голос
/ 18 ноября 2011

Если у вас есть @ResponseBody, то обработчик не должен возвращать ModelAndView, он должен писать напрямую в ответ, используя MessageConvert.

Один из подходов - перехватить Ответ и прочитать его вместо чтения возвращаемого значения.

0 голосов
/ 23 февраля 2012

, пожалуйста, посмотрите на этот ответ, который я только что нашел на тот же самый вопрос, который у меня был:

Я нашел это очень полезным, и я внедряю это решение в свой тестовый код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...