[MÚSICA] Olá a todos, meu nome é Eduardo Guerra. Estamos aqui no curso de orientação a objeto com Java e hoje eu vou mostrar para vocês como criar na prática testes automatizados. Tá? A gente como exercício a gente vai tentar criar os testes para a nossa classe carro. Então eu vou vir aqui vou abrir a classe carro que a gente desenvolveu na aula passada certo? A gente pode ver aí que ele tem o método acelerar e frear, e a gente vai testar justamente essas funcionalidades da classe carro certo? Então eu vou vir aqui, eu vou adicionar o JUnit é o primeiro passo que eu tenho que fazer é adicionar o JUnit no meu projeto. Tá? Então eu vou vir aqui propriedades vou eu preciso clicar aqui Java Build Path, Libraries e selecionar Add Library tá? Ele tem várias opções. O JUnit aqui é uma delas, eu vou dar Next tá? O Eclipse ele já vem com o JUnit né, ele tem a opção do JUnit 3, o JUnit 4. A gente nesse curso vai tá usando o JUnit 4. Tá? Então eu já deixo aqui selecionado e dou o OK. Certo? Ele tem que aparecer aqui JUnit 4. Tá? Quando a gente cria testes, a gente costuma separar o código do teste do código que a gente está desenvolvendo. Então eu vou vir aqui e vou criar novo Source Folder certo? Que eu vou chamar de Teste. Então coloquei aqui baixo. Então eu vou vir aqui agora vou dar novo JUnit Test Case, vou colocar aqui, TesteCarro certo? Ele pergunta qual que é o source folder que eu quero. No caso eu quero o source folder Teste que eu criei para colocar os testes certo? E finalizo. Você pode observar que ele simplesmente vem com teste aqui. Então você pode criar a classe de teste, você não precisa ficar criando monte de eu vou usar aqui o coisa do Eclipse. Simplesmente você pode criar uma classe normal e depois ir acrescentando os testes, que na verdade não tem nada de mais a classe de teste tá? Você não precisa ir por processo diferente de criar outras classes certo? Mas eu vou aproveitar que ele já colocou o @Test aqui pra mim, já importou ali cima certo? Eu vou colocar aqui o testAcelerar. Então como a gente viu, o primeiro passo é criar aqui a minha classe, então eu vou vir aqui ó, Carro c = new Carro. Eu vou configurar aqui a potência do meu carro né, c. potência certo? Igual vou colocar aqui 10 certo? Então eu posso já verificar aqui, por exemplo fazer assertEquals que opa, esqueci de acelerar. Então eu vou fazer aqui c.acelerar e aí eu vou verificar aqui se o 10 = c. getVelocidade, certo? Então eu vou salvar aqui certo? Vou executar. Então eu executo aqui, eu vou fazer de novo aqui para vocês verem, eu venho aqui e dou Run As JUnit Teste tá? Depois eu posso simplesmente rodar ele aqui de novo que ele vai executar. O JUnit quando ele executa ele, ele coloca essa janelinha aqui tá? Você pode ver que tem uma barrinha verde certo? E ele mostra aqui as classes que ele executou e os métodos que ele executou. Eu vou botar aqui por exemplo, que a velocidade tem que ser 9 para o teste falhar só para a gente ver o que acontece tá? Quando eu executar o teste de novo, certo, ele vai aparecer a barrinha vermelha e ele vai aparecer o teste que deu problema. Se a gente pegar aqui baixo, a gente vai ver que ele está escrito: Expeted 9 but, but was 10 né? Então o que é que ele está dizendo aqui, que ele esperava que fosse 9, que foi o que eu coloquei aqui no assert, mas o resultado do getVelocidade foi 10 tá? Se eu clicar aqui baixo, certo? O Eclipse já me leva para a linha de código onde aconteceu aquele problema tá? Então eu vou voltar aqui com 10 e vou estar criando aqui novo teste. Eu poderia ter criado teste aqui por exemplo, para verificar se o carro assim que eu crio se a velocidade dele está 0. Então eu posso criar aqui por exemplo, testeCarroParado. Carro parado. certo? Então a velocidade dele tem que ser 0 né? Eu posso criar teste que eu acelero e freio para ver se o método frear está funcionando, certo? Então eu vou vir aqui c.frear. No caso ele vai ter que dividir a velocidade por 2. Então tem que ser 5 tá? Então eu vou salvar aqui, vou rodar aqui o meu teste e olha passaram todos. Tá? Eu quero fazer teste aqui que eu quero ver se ele chega a 0 se eu frear o suficiente. Então eu vou colocar aqui, frear até zero. Certo? Então, se ele vai dividindo por 2, eu tenho que chamar aqui ele 5 vai dividir por 2 ele vai ficar seria 2,5 ele arredonda para baixo 2, eu preciso frear mais duas vezes aqui para ele chegar a 0. Certo? Então eu vou ver se ele chega até 0, se eu frear o suficiente. Então salvo aqui, rodo, está funcionando. Note que se eu tivesse frear a menos aqui e rodasse certo? Ele ia mostrar todos os teste que passaram como verdinhos e esse daqui, ele falou assim: olha eu esperava 0, mas foi 1. Se eu clicar aqui, ele me leva pra linha de código onde deu o problema. Está certo? Então a gente viu aqui como que é fácil criar os testes com o JUnit, né? Basta a gente criar os métodos de teste colocando o @Test certo? E a gente pode utilizar aqui os métodos de assert, o assertEquals, a gente tem outros né? Se a gente vier aqui e olhar aqui na classe, pode ver aqui todos os métodos que ele tem aqui de asserção, certo? E a gente pode utilizar esses métodos para fazer a comparação. Bom é isso, espero que vocês tenham entendido. Muito obrigado. [MÚSICA]