21

特定の 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);
    }
}

Profile インスタンスをプロファイル リストに追加するとします。Mockitoはそれを行うことができますか? もしそうなら、どのように?

4

1 に答える 1

38

Mockito.doAnswerを使用します。

doAnswer(new Answer() {
   public Object answer(InvocationOnMock invocation) {
       // make the changes you need here
   }})
 .when(mock).someMethod();
于 2013-06-13T14:22:55.407 に答える