EasyMock void method

后端 未结 2 1910
执笔经年
执笔经年 2021-01-03 19:01

I\'m trying to use EasyMock to mock out some database interface so I can test the business logic off a wrapping method. I\'ve been going ok with methods that return by using

2条回答
  •  孤街浪徒
    2021-01-03 19:11

    You're close.

    You just need to call the method on your mock before calling expectLastCall()

    So you expectation would look like this:

    userService.addUser(newUser1);
    EasyMock.expectLastCall();
    EasyMock.replay(dbMapper);
    userService.addUser(newUser1);
    

    This works because the mock object is in Record mode before the call to replay(), so any calls to it will perform default behaviour (return null/do nothing) and will be eligible for replaying when the replay() method is called.

    What I like to do to make sure that it is obvious the method call is for an expectation is to put a small comment in front of it like this:

    /* expect */ userService.addUser(newUser1);
    EasyMock.expectLastCall();
    EasyMock.replay(dbMapper);
    userService.addUser(newUser1);
    

提交回复
热议问题