Bom dia a todos
Eu sei que esses vídeos foram gravados à muito tempo atrás, e foi dito que naquela época o Cucumber só funciona com Junit 4, e não com o 5. Eu fiz esse teste em fevereiro de 2023 com o Junit 5 e deu certo. Código completo abaixo:
import br.com.alura.leilao.model.Lance;
import br.com.alura.leilao.model.Leilao;
import br.com.alura.leilao.model.Usuario;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
import org.junit.jupiter.api.Assertions;
import java.math.BigDecimal;
public class PropondoLancesSteps {
private Lance lance;
private Leilao leilao;
@Given("dando un lance valido")
public void dando_un_lance_valido() {
Usuario usuario = new Usuario("fulano");
lance = new Lance(usuario, BigDecimal.TEN);
}
@When("quando propoe um lance")
public void quando_propoe_um_lance() {
leilao = new Leilao("Tablet");
leilao.propoe(lance);
}
@Then("entao o lance é aceito")
public void entao_o_lance_é_aceito() {
Assertions.assertEquals(1,leilao.getLances().size());
Assertions.assertEquals(BigDecimal.TEN,leilao.getLances().get(0).getValor());
}
}
E para confirmar, forcei erros, como esses 2 exemplos e deu a exceção esperada:
Assertions.assertEquals(3,leilao.getLances().size());
Mensagem de erro:
org.opentest4j.AssertionFailedError: expected: <3> but was: <1>
Expected :3
Actual :1
Outro exemplo:
Assertions.assertEquals(BigDecimal.TEN,leilao.getLances().get(1).getValor());
Mensagem de erro:
java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1
Afinal, a versão atual do Cucumber já é compatível com o Junit 5 ou foi coincidência dar certo?