Hi Everybode,
I'm trying to test my simple LoginController, but I'm getting NullPointerException whenever I try to use methods like getSuccessView(), getCommandClass(), getCommandName()!
Here is my LoginContoller:
And here is my test class LoginControllerTest()Code:public class LoginController extends SimpleFormController{ @Override public ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception { Login login = (Login) command; System.out.println("The username is " + login.getUsername()); System.out.println("the password is " + login.getPassword()); request.getSession().setAttribute("login", login); return new ModelAndView(new RedirectView(getSuccessView())); } }
And Here is the code regarding loginController in my dispatcher-servlet.xmlCode:public class LoginControllerTest { private MockHttpServletRequest request; private MockHttpServletResponse response; private LoginController loginController; public LoginControllerTest() { } @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { request = new MockHttpServletRequest(); response = new MockHttpServletResponse(); request.setMethod("GET"); loginController = new LoginController(); } @After public void tearDown() { } @Test public void testCreate() { assertEquals(Login.class, loginController.getCommandClass()); // <-------- This is returning NullPointerExecption assertEquals("login", loginController.getCommandName()); //<------- This is returning NullPointerExecption assertEquals("login", loginController.getFormView()); // <-------- This is returning NullPointerExecption assertEquals("redirect:search.html", loginController.getSuccessView()); } /** * Test of onSubmit method, of class LoginController. */ @Test public void testOnSubmit() throws Exception { System.out.println("onSubmit"); LoginController loginController = new LoginController(); Login login = new Login(); login.setUsername("admin"); login.setPassword("adminadmin"); //BindException errors = new BindException(login, "errors"); //request.getSession().setAttribute("login", login); ModelAndView mv = loginController.onSubmit(request, response, login, null); assertEquals("search.html", mv.getViewName()); // <------This is returning NullPointerExecption }
I'll be very thankful is somebode could point to me what I'm doing wrong?Code:<bean name="loginController" class="se.spray.rico.web.LoginController"> <property name="commandClass" value="se.spray.rico.model.Login"/> <property name="formView" value="login"/> <property name="successView" value="search.html"/> <property name="validator" ref="loginValidatorManager"/> <property name="commandName" value="login"/> <property name="sessionForm" value="true"/> </bean>
Regards
Azam


Reply With Quote
