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.感谢以上两位博主。

 

posted on 2016-08-23 09:40  吴号虎  阅读(2393)  评论(0编辑  收藏  举报

导航