2012-05-30 4 views
1

Я пытаюсь проверить действия Struts 2, результаты которых указывают на страницу freemarker (.ftl). Мои тесты расширяют StrutsSpringTestCase, поскольку я использую среду Spring. Моя проблема заключается в том, что после выполнения действия он ищет страницу freemarker результата, но до того, как она получит страницу, она добавляет локаль (в моем случае en_GB) на ftl-страницу. Таким образом, ничего не нашел.Тестирование Struts 2 действия, тип результата freemarker

Для примера:

Действие выполняется - страница Результат = login.ftl но поиски login_en_GB.ftl

Действие выполняется - Результат страницы = index.ftl но поиски для index_en_GB.ftl

I не может понять, почему он это делает или как его изменить.

Благодаря

ответ

0

Обходной я использовал для этого вопроса должен был остановить процесс сразу после выполнения действия. Поступая таким образом, я не воспользовался полной функциональностью, но поскольку очевидно, что freemarker не был поддержан, это был лучший способ, который пришел мне на ум.

0

Я думаю, что вам нужно сделать, это установить запрос макет сервлета на контроллере. Мы делаем что-то подобное в нашем коде, но для фиктивных почтовых запросов:

import org.springframework.mock.web.MockHttpServletRequest; 
import org.springframework.mock.web.MockHttpServletResponse; 

protected HttpServletRequest httpServletPostRequest = new MockHttpServletRequest("POST", "/"); 
httpServletPostRequest.addPreferredLocale(yourLocale); 
controller.setServletRequest(httpServletPostRequest); 
Смежные вопросы