У меня довольно сложный тестовый пример. Я пытаюсь добавить следующую проверку() в:
verify(userService).getUserById(anyLong()).setPasswordChangeRequired(eq(Boolean.TRUE));
Сбой этой ошибки:
org.mockito.exceptions.verification.TooManyActualInvocations:
userService.getUserById(<any>);
Wanted 1 time:
-> at test.controllers.AuthenticationControllerMockTest.testLookupsExceeded(AuthenticationControllerMockTest.java:404)
But was 4 times. Undesired invocation:
Поэтому я изменил его на следующее:
verify(userService, atLeastOnce()).getUserById(anyLong()).setPasswordChangeRequired(eq(Boolean.TRUE));
И теперь он терпит неудачу с:
java.lang.NullPointerException
at test.controllers.AuthenticationControllerMockTest.testLookupsExceeded(AuthenticationControllerMockTest.java:404)
потому что это возвращает null:
verify(userService, atLeastOnce()).getUserById(anyLong())
Это кажется озадачивающим. Если я использую значение по умолчанию (только один вызов), он терпит неудачу, потому что он вызывается несколько раз, но если я скажу, что множественные вызовы в порядке, он терпит неудачу, потому что он не может найти никаких вызовов!
Может ли кто-нибудь помочь с этим?