1
resposta

Capturar Exception utilizando o LeilaoBuilder

Estava testando o LeilaoBuilder e quando fui incluir o Exception para mais de 5 lances do usuário me gerou a dúvida de como capturar o mesmo, visto que é um Builder, fui realizando alguns testes e acredito que consegui chegar em uma solução, mas gostaria de confirmar se seria isso mesmo.

Estou utilizando desta forma:

 @Test
    public void naoDeve_AdicionarLance_QuandoUsuarioDerCincoLances() {
        final Usuario ANGIE = new Usuario("Angie");
        final Leilao console = new LeilaoBuilder("Console")
                .lance(MARCOS, 100.0)
                .lance(ANGIE, 200.0)
                .lance(MARCOS, 300.0)
                .lance(ANGIE, 400.0)
                .lance(MARCOS, 500.0)
                .lance(ANGIE, 600.0)
                .lance(MARCOS, 700.0)
                .lance(ANGIE, 800.0)
                .lance(MARCOS, 900.0)
                .lance(ANGIE, 1000.0)
                .build();
        try {
            console.quantidadeDeLances();
        } catch (RuntimeException exception) {
            assertEquals("Usuário já realizou cinco lances", exception.getMessage());
        }
    }

No caso dentro do try chamei o console e o método que pega a qtd de lances, testando colocando mais de 5 lances ele lançou a Exception, essa forma está correta?

1 resposta

Marcos de boa ?

Cara, acredito que nesse caso o ideial é colocar o builder dentro do corpo do try, na própria configuração o leilão deveria estourar o erro e isso faria que o seu teste ficasse verde, acredito que ainda no curso você vai ver o @Expected que vai te ajudar ainda mais nisso