Проблема, по-видимому, заключалась в том, что я неправильно использовал when
.Я читал, что "Mockito позволяет конфигурировать возвращаемые значения его макетов через свободный API. Неуказанные вызовы методов возвращают" пустые "значения:
null для объектов
0 для чисел
false для логического значения
пустые коллекции для коллекций
Моды могут возвращать разные значения в зависимости от аргументов, переданных в метод. Цепочка методов when (….). ThenReturn (….)используется для указания возвращаемого значения для вызова метода с предопределенными параметрами. "
when
ожидает метод, а также точные аргументы.Поэтому, если я хочу позвонить findUser(userkey)
, где значение userkey
скажет 1
в реальном вызове, тогда мне нужно написать when(findUser(1))
или userKey=1; findUser(userKey))
.
В моей неправильной реализации я установил userkey
как
UserKeys (1, "test@test.com", loginInfo, "", "")
но вызов findUser
был со значением
UserKeys (116, "d@d.com", loginInfo, "fn", "ln")
Я изменил значение userkey втест и все заработало
val userKeys = UserKeys(utilities.bucketIDFromEmail(email)/*returns 116*/,"d@d.com",loginInfo,"fn","ln")
when(mockUserRepository.findOne(userKeys)).thenReturn(Future{Some(user)})
when(mockUserRepository.save(user)).thenReturn(Future(Some(user)))