Привет. Что то не могу разобратса как написать коректные тесты для Сервлетов используя Jmock
Вот допустим есть обычний клас который изменяет локаль
Код | public final class ChangeLocale extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exception {
String language = request.getParameter("language"); String country = request.getParameter("country"); if (null == country) { setLocale(request, new Locale(language)); } else { setLocale(request, new Locale(language, country)); } return new ActionForward(mapping.findForward("success")); } }
|
как для него написать тест используя Jmock?
я написал вот такой...но он падает - возникает java.lang.NullPointerException в строке - "return new ActionForward(mapping.findForward("success"));"
Код | public class ChangeLocaleTest extends MockObjectTestCase {
public void testConstructor() throws Throwable { ChangeLocale changeLocale = new ChangeLocale(); ActionMapping mapping = new ActionMapping(); ActionForm form = new UserProfileForm(); final HttpServletRequest request = mock(HttpServletRequest.class); HttpServletResponse response = mock(HttpServletResponse.class);
checking(new Expectations() { { one(request).getParameter("language"); one(request).getParameter("country"); allowing(request).getSession(); } });
ActionForward result = changeLocale.execute(mapping, form, request,response); assertNotNull(result); } }
|
понимаю что возможно он в корне не правильний потому прошу хорошый пример теста для ChangeLocale используя Jmock
|