1.首先导入需要使用的servlet的jar包
接下来我们编写一个登陆的servlet
package com.fjnu.service; import java.net.HttpRetryException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import com.fjnu.model.User; public class LoginServlet extends HttpServlet{ public boolean login(HttpServletRequest rep){ //首先获得登陆的session HttpSession session = rep.getSession(); if(session == null){ return false; } User user = (User) session.getAttribute("username"); if(user == null){ return false; } return true; } }
我们来编写测试代码
package com.fjnu.service; import static org.junit.Assert.*; import static org.easymock.EasyMock.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.junit.Before; import org.junit.Test; import com.fjnu.model.User; public class TestHttpLoginByEasyMock { private HttpServletRequest req; private HttpSession session; private LoginServlet servlet ; @Before public void setUp(){ req = createStrictMock(HttpServletRequest.class); session = createStrictMock(HttpSession.class); servlet = new LoginServlet(); } /* * 登陆操作有三个测试场景 * 第一个是登陆session为null * 第二个是登陆获得用户名不存在 * 第三个是登陆成功 * */ @Test public void testSeesionIsNull(){ expect(req.getSession()).andReturn(null); replay(req,session); //执行登陆操作返回值是false assertFalse(servlet.login(req)); verify(req,session); } @Test public void testUserIsNull(){ expect(req.getSession()).andReturn(session); expect(session.getAttribute("username")).andReturn(null); replay(req,session); //执行登陆操作返回值是false assertFalse(servlet.login(req)); verify(req,session); } @Test public void testUserExits(){ expect(req.getSession()).andReturn(session); expect(session.getAttribute("username")).andReturn(new User()); replay(req,session); //执行登陆操作返回值是false assertTrue(servlet.login(req)); verify(req,session); } }
视频下载地址
链接:https://pan.baidu.com/s/1U1zlhz9bQVXTFQqZGgC8pA 密码:423k