1
resposta

ExpectedException não funciona

Estou fazendo os exemplos conforme a aula e quando substituo o try catch pelo exception.expect e exception.excpectMessage o teste apresenta falhas e só dá sucesso se de fato eu tirar o valor que estou querendo testar.

public class LeilaoTest extends TestCase {

@Rule
public ExpectedException exception = ExpectedException.none();

    @Test
public void naoDeve_AdicionarLance_QuandoForMenorQueOMaiorLance(){
   exception.expect(RuntimeException.class);
   exception.expectMessage("Lance foi menor que maior lance");

    CONSOLE.propoe(new Lance(JOAO, 500.0));
    CONSOLE.propoe(new Lance(MARIA, 300.0));

}

    public class Leilao implements Serializable {

public void propoe(Lance lance) {
    double valorLance = lance.getValor();
    if (lanceNaoValido(lance)) throw new RuntimeException();
    lances.add(lance);
    if (lances.size() == 1) {
        menorLance = valorLance;
        maiorLance = valorLance;
        return;
    }

    }

`

1 resposta

Beatriz, tudo bem ?

Você não colocou o texto no seu código, por isso que não está passando.

 public class Leilao implements Serializable {

public void propoe(Lance lance) {
    double valorLance = lance.getValor();
    if (lanceNaoValido(lance)) throw new RuntimeException(); // a mensagem deve estar na exception para que possa funcionar o teste
    lances.add(lance);
    if (lances.size() == 1) {
        menorLance = valorLance;
        maiorLance = valorLance;
        return;
    }

    }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software