Я думаю, что ваша функция mockOnlineClaimDAO.getAccountType
всегда возвращает один и тот же объект.
Лучшее решение - определить уникальный сопоставитель, используя eq
для вашей mockOnlineClaimDAO.getAccountType
функции, поскольку теперь вы используете только сопоставляющие символы.Пример:
when(mockOnlineClaimDAO.getAccountType(Mockito.any(Connection.class), Mockito.eq(accStr),...`
Другой вариант - использовать последовательную заглушку.Затем вам нужно добавить несколько thenReturn
операторов:
when(mockOnlineClaimDAO.getAccountType(Mockito.any(Connection.class), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(Date.class), Mockito.any(Date.class)))
.thenReturn(new AccountTypeBn("Test String 1"))
.thenReturn(new AccountTypeBn("Test String 2"))
.thenReturn(new AccountTypeBn("Test String 3"))
.thenReturn(new AccountTypeBn("Test String 4"));
или, альтернативно, передать все возвращаемые значения в блоке 1 thenReturn
:
when(mockOnlineClaimDAO.getAccountType(Mockito.any(Connection.class), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(Date.class), Mockito.any(Date.class)))
.thenReturn(new AccountTypeBn("Test String 1"), new AccountTypeBn("Test String 2"), new AccountTypeBn("Test String 3"));
При каждом вызове функции-заглушки,следующий объект будет возвращен.