//發送請求
WebRequest request = new GetMethodWebRequest( "http://localhost/InternalServlet" );
request.setParameter("pwd","pwd");
//獲得該請求的上下文環境
InvocationContext ic = sc.newInvocation( request );
//調用Servlet的非服務方法
InternalServlet is = (InternalServlet)ic.getServlet();
is.myMethod();
//直接通過上下文獲得request對象
System.out.println("request中獲取的內容:"+ic.getRequest().getParameter("pwd"));
//直接通過上下文獲得response對象,并且向客戶端輸出信息
ic.getResponse().getWriter().write("haha");
//直接通過上下文獲得session對象,控制session對象
//給session賦值
ic.getRequest().getSession().setAttribute("username","timeson");
//獲取session的值
System.out.println("session中的值:"+ic.getRequest().getSession().getAttribute("username"));
//使用客戶端獲取返回信息,并且打印出來
WebResponse response = ic.getServletResponse();
System.out.println(response.getText());
[注意] 在測試Servlet的之前,你必須通過InvocationContext完成Servlet中的service方法中完成的工作,因為通過newInvocation方法獲取InvocationContext實例的時候該方法并沒有被調用。
6 總結
本文中,作者詳細的演示和介紹了如何使用HttpUnit提供的類來進行集成測試,主要實現以下操作:
1. 模擬用戶行為向服務器發送請求,傳遞參數
2. 模擬用戶接受服務器的響應信息,并且通過輔助類分析這些響應信息,結合JUnit框架進行測試
3. 使用HttpUnit提供的模擬Servler容器,測試開發中的Servlet的內部行為
文章來源于領測軟件測試網 http://www.kjueaiud.com/