⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userformcontrollertest.java

📁 springlive ch6
💻 JAVA
字号:
package org.appfuse.web;

import junit.framework.TestCase;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.appfuse.model.User;
import org.appfuse.service.UserManager;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockServletContext;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.context.support.XmlWebApplicationContext;
import org.springframework.web.servlet.ModelAndView;


public class UserFormControllerTest extends TestCase {
    private static Log log = LogFactory.getLog(UserFormControllerTest.class);
    private XmlWebApplicationContext ctx;
    private UserFormController c;
    private MockHttpServletRequest request;
    private ModelAndView mv;
    private User user;

    public void setUp() {
        String[] paths = {"/WEB-INF/applicationContext*.xml", 
                          "/WEB-INF/action-servlet.xml"};
        ctx = new XmlWebApplicationContext();
        ctx.setConfigLocations(paths);
        ctx.setServletContext(new MockServletContext(""));
        ctx.refresh();        
        c = (UserFormController) ctx.getBean("userFormController");
        // add a test user to the database
        UserManager mgr = (UserManager) ctx.getBean("userManager");
        user = new User();
        user.setFirstName("Matt");
        user.setLastName("Raible");
        user = mgr.saveUser(user);
    }
    
    public void tearDown() {
        ctx = null;
        c = null;
        user = null;
    }
    
    public void testEdit() throws Exception {
        log.debug("testing edit...");
        request = new MockHttpServletRequest("GET", "/editUser.html");
        request.addParameter("id", user.getId().toString());
        mv = c.handleRequest(request, new MockHttpServletResponse());
        assertEquals("userForm", mv.getViewName());
    }

    public void testSave() throws Exception {
        request = new MockHttpServletRequest("POST", "/editUser.html");
        request.addParameter("id", user.getId().toString());
        request.addParameter("firstName", user.getFirstName());
        request.addParameter("lastName", "Updated Last Name");
        mv = c.handleRequest(request, new MockHttpServletResponse());
        Errors errors =
            (Errors) mv.getModel().get(BindException.ERROR_KEY_PREFIX + "user");
        assertNull(errors);
        assertNotNull(request.getSession().getAttribute("message"));
    }
    
    public void testRemove() throws Exception {
    	request = new MockHttpServletRequest("POST", "/editUser.html");
        request.addParameter("delete", "");
        request.addParameter("id", user.getId().toString());
        mv = c.handleRequest(request, new MockHttpServletResponse());
        assertNotNull(request.getSession().getAttribute("message"));
    }   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -