目前晚上学习jmock。
Issue: spring+annotations使用jmock
遇到了这个场景。stackoverflow上有人问过这个问题,这里贴一下。
http://stackoverflow.com/questions/1638911/mock-object-and-spring-annotations
关键是使用ReflectionTestUtils的方法。这个方法在spring-test工程的相关jar包。
... @Autowired private UserService userService; private UserDao userDao = null; ... ReflectionTestUtils.setField(userService, "userDao", userDao, UserDao.class); ...
Issue:入参对象时。mock表达式传入对象必须和实际传入对象为同一句柄。
final User _user = genUser(); mockery.checking(new Expectations() { { one(userDao).queryUser(_user); List<User> userList = new ArrayList<User>(); userList.add(genUser()); userList.add(genUser()); will(returnValue(userList)); } }); List<User> users = userService.queryUser(_user);
共用一个_user句柄。否则报错。
Issues:jmock一个异常错误
will(throwException(new RuntimeException("test exception")));
推荐链接:http://superleo.iteye.com/blog/143493
相关:jmock2学习笔记-续
评论关闭。