junit – 当调用给定的mocked void方法时执行自定义操作

前端之家收集整理的这篇文章主要介绍了junit – 当调用给定的mocked void方法时执行自定义操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当一个给定的void方法调用时,我希望Mockito可以执行一个自定义操作.

说我有以下代码

  1. @Autowired
  2. private ProfileService profileService;
  3.  
  4. @Autowired
  5. private ProfileDao profileDao;
  6.  
  7. private List<Profile> profiles;
  8.  
  9. @Before
  10. public void setup() {
  11. Mockito.when(profileDao.findAll()).thenReturn(profiles);
  12. Mockito.when(profileDao.persist(any(Profile.class))).thenAddProfileToAboveList...
  13. }
  14.  
  15. @Configuration
  16. public static class testConfiguration {
  17. @Bean
  18. public ProfileDao ProfileDao() {
  19. return mock(ProfileDao.class);
  20. }
  21. }

假设我要添加一个配置文件实例到配置文件列表. Mockito可以做到吗如果是这样的话

解决方法

使用 Mockito.doAnswer.
  1. doAnswer(new Answer() {
  2. public Object answer(InvocationOnMock invocation) {
  3. // make the changes you need here
  4. }})
  5. .when(mock).someMethod();

猜你在找的Java相关文章