package test2;
?
import org.easymock.*;
import junit.framework.*;
import javax.servlet.http.*;
?
public class TestMyClass extends TestCase{
???
??? private MockControl control;
??? private HttpServletRequest mockRequest;
??? private MyClass myclass ;
???
??? public void setUp() {??????
?????? myclass = new MyClass();
??????
?????? //
創建一個
Mock HttpServletRequest
的
MockControl
對象
?????? control = MockControl.createControl(HttpServletRequest.class);
??????
?????? //
獲取一個
Mock HttpServletRequest
對象
?????? mockRequest = (HttpServletRequest) control.getMock();??????
??? }
??? public void tearDown() {
?????? //TODO
??? }
??? public void testGetName(){
?????? //
設置期望調用的
Mock HttpServletRequest
對象的方法
?????? mockRequest.getParameter("name");
??????
?????? //
設置調用方法期望的返回值,并指定調用次數
?????? //
以下后兩個參數表示最少調用一次,最多調用一次
?????? control.setReturnValue("kongxx" ,1 ,2);??
??????
?????? //
設置
Mock HttpServletRequest
的狀態,
?????? //
表示此
Mock HttpServletRequest
對象可以被使用
?????? control.replay();
??????
?????? //
使用斷言檢查調用
?????? assertNotNull(myclass.getName(mockRequest));
?????? assertEquals("kongxx",myclass.getName(mockRequest));
??????
?????? //
驗證期望的調用
?????? control.verify();???
??? }
??? public void testGetPassword(){
?????? //
設置期望調用的
Mock HttpServletRequest
對象的方法
?????? mockRequest.getParameter("password");
??????
?????? //
設置調用方法期望的返回值,并指定調用次數
?????? //
以下后兩個參數表示最少調用一次,最多調用一次
?????? control.setReturnValue("kongxx" ,1,2);
??????
?????? //
設置
Mock HttpServletRequest
的狀態,
?????? //
表示此
Mock HttpServletRequest
對象可以被使用
?????? control.replay();
??????
?????? //
使用斷言檢查調用
?????? assertNotNull(myclass.getPassword(mockRequest));
?????? assertEquals("kongxx",myclass.getPassword(mockRequest));
??????
?????? //
驗證期望的調用
?????? control.verify();??
??? }
}
|