As duas sintaxes para a malha são aproximadamente equivalentes. No entanto, você pode sempre usar doReturn/when
para morrer; Mas há casos em que você não pode usar when/thenReturn
. Métodos de vazio de stubbing é um desses. Outros incluem uso com espiões do Mockito e arrancando o mesmo método mais de uma vez.
Uma coisa que when/thenReturn
dá a você que doReturn/when
Não, não é a verificação do tipo do valor que você está retornando, no momento da compilação. No entanto, acredito que isso quase não tem valor - se você tem o tipo errado, você descobrirá assim que executar seu teste.
Eu recomendo fortemente apenas usar doReturn/when
. Não faz sentido aprender duas sintaxes quando alguém o fará.
Você pode querer se referir à minha resposta em Formando Mockito "Grammais" - Uma resposta mais detalhada para uma pergunta muito intimamente relacionada.