当一个给定的void方法被调用时,我希望Mockito可以执行一个自定义操作.
说我有以下代码:
@Autowired private ProfileService profileService; @Autowired private ProfileDao profileDao; private List<Profile> profiles; @Before public void setup() { Mockito.when(profileDao.findAll()).thenReturn(profiles); Mockito.when(profileDao.persist(any(Profile.class))).thenAddProfileToAboveList... } @Configuration public static class testConfiguration { @Bean public ProfileDao ProfileDao() { return mock(ProfileDao.class); } }
解决方法
使用
Mockito.doAnswer.
doAnswer(new Answer() { public Object answer(InvocationOnMock invocation) { // make the changes you need here }}) .when(mock).someMethod();