EasyMock使用總結


最重要的事說在前面:遇到一個你不熟悉的知識,一定要去官網仔仔細細的看官方文檔!一定要仔仔細細!一定要!(爾康鼻孔臉。。)

正篇:

一.使用

    首先,當然是添加依賴,有人用maven,有人用ant或者mantis,每個人不一樣,嗯,添加依賴。然后如果你需要mock一個類而不是接口的話,需要添加objenesis的依賴和jar包。(easymock3.0及以上適用)

二.你可能得事先了解的一些api

    1.createControl,如果在你需要在相對復雜的測試用例中使用多個 Mock 對象,EasyMock 提供了另外一種生成和管理 Mock 對象的機制:

 1     @Before
 2     protected void setUp() throws Exception {
 3         super.setUp();
 4         IMocksControl control = EasyMock.createControl();
 5         servlet = new GetIdeationsServlet();
 6         service = RollerFactory.getRoller().getUserManager();
 7         request = control.createMock(HttpServletRequest.class);
 8         response = control.createMock(HttpServletResponse.class);
 9         session = control.createMock(HttpSession.class);
10         servletConfig = control.createMock(ServletConfig.class);
11         servletContext = control.createMock(ServletContext.class);
12         rollersession = control.createMock(RollerSession.class);
13         
14        
15         servlet.init(servletConfig);
16         
17 
18     }

    IMocksControl 的對象,該對象能創建並管理多個 Mock 對象。

 

    2.createMock, 就像上面代碼所示,你創建了管理對象IMockControl,就可以通過它去mock你要mock的對象。

 

    3.有了createControl和createMock,也會有createNiceControl,createStrictControl和createNiceMock和createStrictMock。那么它們之間究竟有啥區別呢?官方api是這么說的

 

    懶,其實就是調用順序檢測不檢測的問題。什么是調用順序?什么是調用順序檢測?http://skydream.iteye.com/blog/829333

 

    4.http://www.cnblogs.com/alipayhutu/archive/2012/05/21/2512363.html其他的問題這里總結的已經非常好了!

 

    5.感謝以上兩位博主。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM