隨筆-61  評論-159  文章-0  trackbacks-0
          easymock的測試:
                   1、  首先導入easymock.jar包。
                   2、 LoginServlet.java  servlet類

           1package com.test.mock;
           2
           3import java.io.IOException;
           4
           5import javax.servlet.RequestDispatcher;
           6import javax.servlet.ServletContext;
           7import javax.servlet.ServletException;
           8import javax.servlet.http.HttpServlet;
           9import javax.servlet.http.HttpServletRequest;
          10import javax.servlet.http.HttpServletResponse;
          11
          12public class LoginServlet extends HttpServlet {
          13    /**
          14     * 
          15     */

          16    private static final long serialVersionUID = 7020197334019200211L;
          17
          18    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          19        String username = request.getParameter("username");
          20        String password = request.getParameter("password");
          21        // check username & password:
          22        if("admin".equals(username) && "123456".equals(password)) {
          23            ServletContext context = getServletContext();
          24            RequestDispatcher dispatcher = context.getNamedDispatcher("dispatcher");
          25            dispatcher.forward(request, response);
          26        }

          27        else {
          28            throw new RuntimeException("Login failed.");
          29        }

          30    }

          31
          32
          33}

          34

                      3、LoginServletTest.java

           1package com.test.mock;
           2
           3import javax.servlet.http.*;
           4import org.easymock.*;
           5import junit.framework.TestCase;
           6public class LoginServletTest extends TestCase {    
           7    public void testLoginFailed() throws Exception {        
           8        MockControl mc = MockControl.createControl(HttpServletRequest.class);        
           9        HttpServletRequest request = (HttpServletRequest)mc.getMock();        
          10    request.getParameter("username");        
          11        mc.setReturnValue("admin"1);        
          12        request.getParameter("password");        
          13        mc.setReturnValue("1234"1);        
          14  
          15        mc.replay();                
          16        LoginServlet servlet = new LoginServlet();        
          17        try {            
          18            servlet.doPost(request, null);            
          19            fail("Not caught exception!");        }
                  
          20        catch(RuntimeException re) {            
          21            assertEquals("Login failed.", re.getMessage());        
          22            }
                         
          23        mc.verify();    
          24        }
              
          25}


          測試結果:



          -------------------------------------------------------------------------------------------------
          PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者文章的詳細出處地址,否則不允許轉載,多謝合作!
          posted on 2007-09-16 17:33 apple0668 閱讀(425) 評論(0)  編輯  收藏 所屬分類: junit
          主站蜘蛛池模板: 神农架林区| 阿克陶县| 黄龙县| 仲巴县| 临湘市| 上饶县| 若尔盖县| 东宁县| 海阳市| 延津县| 金阳县| 德阳市| 和田市| 深水埗区| 九龙城区| 昭苏县| 南雄市| 南川市| 慈溪市| 承德县| 盐池县| 武冈市| 绥芬河市| 边坝县| 德安县| 天镇县| 沙雅县| 芜湖市| 泸西县| 鄱阳县| 万源市| 天长市| 灵川县| 米林县| 大港区| 乌兰察布市| 庆阳市| 阿拉善盟| 通城县| 南丹县| 潞西市|