Как насчет этого:
times['days_since'] = max(list(df.index.values))
times['days_since'] = times['days_since'] - times['months']
times
Если вы явно не измените поведение макета по умолчанию, оно вернет «хорошие значения» . Для коллекции возвращаемое по умолчанию значение представляет собой пустую коллекцию, поэтому вам не нужно явно использовать вызов when
для возврата таких пустых коллекций, как ваш код с комментариями.
Что произойдет, если myDao.someMethod () вызывается, когда он не настроен?
blockquote>С обычным mockito (поэтому без использования шпиона, вызывающего метод чтения), он не будет вызывать никаких исключений или ошибок, он просто реализует этот метод как пустой объект. Затем, если метод объявлен как
void
, дополнительное поведение не требуется, и если метод объявлен с типом возвращаемого значения, он возвращает значение по умолчанию объявленного типа, которое является ссылкойnull
для объектов, но для коллекций, где Mockito возвращает пустой экземпляр из них и, наконец, значения по умолчанию для примитивов.Но обратите внимание, что в целом эта функция Mockito не вызывает какого-либо побочного эффекта в вашей тестовой логике, поскольку обычно вы хотите утверждать содержание списков, а не только их недействительность. Но в вашем случае вы издеваетесь над пустым списком:
when(myDao.listSomeObjectTypeB()).thenReturn( Collections.<SomeObjectTypeB>emptyList() );