EasyMock的一点笔记

EasyMock的一点笔记

      昨天晚上开始学习用EasyMock来进行单元测试,其实原来也看过,但是没有正式用过。照着文档写了段代码:
    
1 UserManager manager  =   new  UserManager();
2 UserDao mockDao  =  EasyMock.createMock(UserDao. class );
3 userManager.setUserDao(mockDao);
4 mockDao.getUserById( " 1 " );
5 EasyMock.replay(mockDao);
6 User user  =  userManager.getUser( " 1 " );
7    EasyMock.verify(mockDao);
8 assertNotNull(user);

结果抛出java.lang.IllegalStateException,说是missing behavior definition for preceding method call getUserById("1"),我一看糊涂了,搞不清楚啥意思,google吧,结果在 http://mail-archives.apache.org/mod_mbox/jakarta-tapestry-dev/200506.mbox/%[email protected]%3E上找到类似的问题,应该是还要设置mock对象的返回值的问题,因为我的UserDao的getUserById方法是要返回一个User对象的,所以将第4行的代码改为EasyMock.expect(mockDao.getUserById("1")).andReturn(new User());就能通过测试了。

你可能感兴趣的:(EasyMock的一点笔记)