Foi pedido no exercício para escrever um teste que garanta que mesmo que uma exceção seja lançada na execução de um envio de e-mail para um determinado leilão, o objeto EncerradorDeLeilao deve continuar a executar as atualizações e envio de e-mail para os demais leilões, porém o código do instrutor, similar ao abaixo;
doThrow(new RuntimeException()).when(fakeSenderEmail).envia(leilao1);
EncerradorDeLeilao encerrador = new EncerradorDeLeilao(daoFalso, fakeSenderEmail);
encerrador.encerra();
verify(daoFalso).atualiza(leilao2);
verify(fakeSenderEmail).envia(leilao2);
ao meu entender, não garante que o objeto EncerradorDeLeilao vai continuar sua execução normal para os outros leilões ao de uma exceção no método de envio de e-mail, pois mesmo ao mudar os duas verificações do código acima para utilizarem o leilao1(o qual estamos lançando uma exceção) a execução do teste ocorre com sucesso. Estou certo no meu entendimento?
Dei uma resposta diferente a este exercício, que ao meu ver, realmente garante o funcionamento normal do objeto EncerradorDeLeilao nas condições de exceção mencionadas acima, gostaria de saber se minha resposta está correta.