当一个给定的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();