Java Mockito и Делегирование - PullRequest
1 голос
/ 16 декабря 2011

Мне нужно возвращать новый Date () каждый раз, когда я вызываю getLastModifiedDate. Я использую этот макет:

when(network.getLastModifiedDateOf(any(URL.class))).
            thenReturn(formatDate(new Date()));

Однако каждый раз, когда вызывается getLastModifiedDateOf, он возвращает одну и ту же дату / время начала теста. Я думаю, что мне нужно что-то вроде делегата C #, чтобы вызывать new Date () каждый раз, когда нажимается mock.

1 Ответ

9 голосов
/ 16 декабря 2011

Посмотрите на Answer обратные вызовы, а не прямые возвращаемые значения.

when(...).thenAnswer(new Answer() {
    Object answer(InvocationOnMock invocation) {
        return formatDate(new Date());
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...