Я нашел несколько ответов на этот вопрос, но у меня ничего не работает.
Попытка имитировать метод входа в интерфейс Apache Shiro Subject, который возвращает void.
Интерфейс:
void login(AuthenticationToken token) throws AuthenticationException;
Я пытался :
#1
val subject = mock[Subject]
doNothing().when(subject).login(new UsernamePasswordToken())
#2
val subject = mock[Subject]
doNothing().when(subject).login(any[UsernamePasswordToken])
#3
when(subject.login(any[UsernamePasswordToken])).thenAnswer(new Answer[Void]() {
override def answer(invocation: InvocationOnMock): Void = {
null:Void
}
Я продолжаю получать NullPointerException при входе в систему. Моя цель — протестировать метод входа в систему и протестировать несколько успешных случаев, а также несколько случаев отказа, когда этот метод вызывает исключение.