隨筆-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 閱讀(421) 評論(0)  編輯  收藏 所屬分類: junit

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 科尔| 武穴市| 包头市| 荔浦县| 新和县| 沂水县| 启东市| 晋州市| 原平市| 山阴县| 邢台县| 文水县| 溧水县| 城市| 阿拉善左旗| 资兴市| 台山市| 大渡口区| 广宗县| 茶陵县| 滦平县| 府谷县| 德清县| 丰宁| 社旗县| 定州市| 广丰县| 化州市| 广昌县| 芦山县| 特克斯县| 保山市| 阳高县| 阳城县| 武强县| 读书| 高安市| 聂拉木县| 澳门| 南汇区| 象州县|