如果方法的参数实在无法预先确定,我们可以使用capture。比如UserService 有这么个方法:
public boolean registerVIP(){ User user = new User(); user.type = "VIP"; return userDao.insertUser(user); }
当我们mock userDao的insertUser(user)方法时,我们无法确定他的参数会是什么样子的,因为参数是我们要测试的registerVIP这个方法new出来给他的,我们可以假定insertUser的方法逻辑的正确的,但是参数是registerVIP传给他的,所以我们得验证参数的正确性。
public void testRegisterVIP(){ userDao = createMock(UserDao.class); Capture<User> captureUser = new Capture<User>(); expect(userDao.insertUser(capture(captureUser))).andReturn(true).times(2); replay(userDao); userService.setUserDao(userDao); userService.registerVIP(); assertEquals("VIP", captureUser.getValue().type); //验证捕捉到的参数是否正确 assertEquals(true, userService.registerVIP());//验证最后的结果 verify(userDao); }
相关推荐
easymock 的使用方法简介easymock 的使用方法简介
本文将对 EasyMock 的功能和原理进行介绍,并通过示例来说明如何使用 EasyMock 进行单元测试。 Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与...
使用EasyMock做java单元测试的例子,包含所需要的jar包
easymock2 EasyMock使用简明手册
EasyMock单元测试的扩展; EasyMock简介(抽象类接口做测试); EasyMock来进行测试; EasyMock如何打桩;...EasyMock使用技巧; EasyMock使用简明手册; EasyMock使用说明; EasyMock使用手记; 用Mock object进行隔离测试;
IBM网站对EasyMock和使用场景的一些介绍
easyMock
还在为EasyMock使用时出异常而烦恼? 本压缩包包含除了Junit4之外easyMock3.1所用到的所有相关jar包,junit4可自己导入eclipse自带的即可 本压缩包包括: asm.jar cglib.jar objenesis.jar等 其中asm与cglib已兼容,放心...
EasyMock 使用方EEasyMock 使用方法与原理剖析.rar
EasyMock主要是为测试提供模拟数据,比如你可以模拟HttpServletRequest。
EasyMock使用教程,快来看看你还有什么秘密没有发现吧!
EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助...本文将向您展示如何使用 EasyMock 进行单元测试,并对 EasyMock 的原理进行分析。 标签:easyMock
easyMock2.2
Junit+EasyMock单元测试使用资料以及案例分析,供学习单元测试的朋友学习使用!
NULL 博文链接:https://zhangzhenting.iteye.com/blog/1829416
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 easymock.jar,easymockclassextension.jar
easymock测试servlet使用代码
NULL 博文链接:https://bruceliu02.iteye.com/blog/1775446
easymock需要用到的包,没有它不行,easymock-3.1.jar