[00:00] Olá, boas-vindas de volta. Você já tem agora uma noção do que é BDD, onde ele se encaixa no mundo ágil e no desenvolvimento. Agora o que queremos é fazer as coisas na prática. Ou seja, aprender o BDD realmente diante de um projeto mais real possível, isso com a plataforma Java e as ferramentas ao redor.
[00:24] Nesse vídeo eu vou gastar um pouco de tempo para importar e fazer toda essa preparação do ambiente. Para quem já é um desenvolvedor experiente, acho que pode acelerar esse vídeo bastante. Para quem está engatinhando com Java e tem mais um perfil de QA, vai com calma e assista a esses próximos dois vídeos comigo.
[00:53] O que vocês vão precisar na máquina para esse projeto funcionar? Primeira coisa, vocês precisam ter o Java instalado, é claro. Preferencialmente o JDK. Na verdade, para rodar o Eclipse basta o JRE. Mas se vocês quiserem fazer algo na linha de comando, por exemplo, com o Maven, seria útil instalar o JDK.
[01:23] Abrindo um prompt, a famosa linha de comando, o comando Java deveria funcionar, java -version. E também o comando javac -version. E isso normalmente no Windows não funciona por padrão, mesmo instalando o JDK.
[01:53] Então você precisa ir nas propriedades do seu computador, e entrar nas configurações do sistema para as variáveis de ambiente. Para o javac funcionar vocês precisam adicionar a pasta do javac no Path.
[02:22] No meu caso, o Java foi instalado em “Program Files\Java\jdk1.8.0_261\bin”. Adicionando isso vai funcionar. Já aproveitando, repara que eu também adicionei a pasta do Maven. O Maven é o gerenciador de dependências do Java que baixa as bibliotecas e executa e consegue compilar todo o ciclo de vida. Eu também já adicionei.
[02:46] Então quando eu te falo sobre o Maven vocês também sabem que para funcionar na linha de comando também precisamos adicioná-lo na pasta “\bin”, porque é onde tem os binários.
[02:56] Eu já tinha feito isso, vou fechar todas essas janelas. Então o javac funciona e o Java funciona.
[03:09] Além do Java, eu vou precisar no mínimo do Eclipse, aquele Eclipse Java Web. Como eu estou usando um projeto baseado em Spring, eu baixei o Spring Tool Suite.
[03:31] Vou pesquisar por “spring tool suite” no navegador e clicar no primeiro link. É um Eclipse com um monte de plugins para facilitar o desenvolvimento com Spring. Pode reparar que é o mesmo ambiente de Eclipse.
[03:48] E faz sentido usar, porque tem algumas facilidades. Mas a princípio bastaria um Eclipse Web ou um Eclipse Java padrão.
[04:00] Então baixei o Java, instalei e configurei na linha de comando. Baixei o Eclipse do Spring, o Spring Tool Suite e instalei. É só dar dois cliques que o arquivo Java vai instalar.
[04:17] Eu tenho também a pasta extraída do Eclipse. Vou inicializar o Spring Tool Suite, que na verdade é o Eclipse do Spring.
[04:29] Além disso eu também já criei uma pasta chamada “workspace”. Porque o Eclipse vai me perguntar onde eu quero que meus arquivos fiquem. Vai ser nessa pasta, que inclusive já abriu.
[04:45] E eu também já baixei e extraí o projeto da atividade anterior a esse vídeo. Aqui está aquele leilão que vocês já baixaram. Quem não fez, faz isso agora.
[04:59] Então temos o workspace, meu Spring Tool Suite já está apontando. E agora eu vou importar o projeto, clicando no canto superior esquerdo da tela em “File > Import”. Eu vou procurar pelo Maven, que é meu gerenciador de dependências por baixo dos panos. Seleciono “Existing Maven Project” e clico em “Next”.
[05:28] Depois clico em “Browse”, ele abre a minha pasta “workspace”, que eu já tinha apontado ao Eclipse, e vou selecionar a pasta “leilao”, que eu já tinha extraído. Repare que ele já reconhece o arquivo de configuração Maven, o famoso “pom.xml” e clico em “Finish”.
[05:48] Eu estou dando realmente passo a passo para quem não está tão acostumado com esse ambiente. E agora vai demorar um pouco. Eu já fiz isso antes, então passa muito mais rápido, ele já está acabando.
[06:02] Mas quando vocês fazem isso pela primeira vez, vai demorar. Se prepara porque se vocês fazem isso usando o Maven pela primeira vez, vai demorar bastante. Ele fica rodando e realmente demora até o projeto inicializar corretamente, porque o Maven, por baixo dos panos fica baixando todas essas bibliotecas. Isso tudo já tinha na minha máquina local. Quem não fez isso antes, vai demorar, tem que ter um pouco de paciência.
[06:37] Então temos agora um clássico projeto Maven, com o “src/main/java”, os recursos da aplicação, os arquivos de fonte dos testes e os recursos dos testes, além de alguns outros arquivos.
[06:51] O que eu queria fazer agora com vocês para pelo menos terminar essa aula é rodar o projeto, para no próximo vídeo eu entrar em alguns detalhes a mais.
[07:01] Esse projeto é baseado no Spring Boot. Então temos uma classe com um Main que inicializa. Não precisa de servidor extra, Tomcat, nada disso, porque o Spring já tem isso embutido.
[07:19] Então na teoria basta rodar isso como aplicação Java, e até vai funcionar parcialmente. Parcialmente, porque essa aplicação foi configurada em perfis que rodam em ambientes para representar ambientes no desenvolvimento. Como eu falei, eu queria chegar com essa aplicação o mais perto de um projeto real.
[07:41] Então vocês vão ver que, por exemplo, no arquivo dos recursos existem propriedades para ambiente de teste e para ambiente de produção. A diferença é basicamente que o ambiente de teste tem um banco de dados configurado que roda em memória, o famoso H2. O ambiente de produção usa o MariaDB, do MySQL.
[08:08] Ou seja, na hora de rodar eu preciso definir que eu quero executar agora um ambiente de teste. E também já deixei uma dica: basta adicionar o parâmetro -Dspring.profiles.active=test na hora de rodar essa classe main.
[08:25] Quem usa o Spring Tool tem uma facilidade. Eu vou clicar com o botão direito e escolher “Run As > Spring Boot App”, mas poderia ser “Java Application” também.
[08:38] Ele vai rodar, mas ele não está configurado ainda para rodar no ambiente de teste. E já está subindo, funcionou. Mas acessando agora não vai mostrar dados, nada de padrão, porque ele não achou as nossas configurações do banco de dados.
[08:55] Então vou parar e vou agora entrar nas configurações, em “Run Configurations”. E podemos adicionar o profile. Esse diálogo só existe para quem tem o Spring Tool Suite instalado. Para quem não tem o Eclipse específico do Spring precisa fazer algo a mais.
[09:28] Para quem não tem precisa adicionar o parâmetro -Dspring.profile.active=test na aba “Arguments”, no campo “VM Arguments”. Com isso o Spring sabe que precisa ativar o ambiente de teste.
[09:37] Como eu tenho o Spring Tool Suite, eu consigo selecionar confortavelmente o profile de teste na aba “Spring Boot”. É uma pequena ajuda. Em seguida clico em “Run”. Vai subir a aplicação. E já foi, realmente carregou.
[10:09] E reparem que eu configurei o log apenas para warning, logging.level.root=WARN então ele mostrou muito menos mensagens para que caibam as configurações certas.
[10:19] Acessando agora no navegador “localhost:8080”, já mostra a página do padrão. Eu já tenho um usuário, mas quando eu clico em “Login” não vai funcionar, porque ele ainda não tem dados.
[10:36] Mas isso vou te mostrar no próximo vídeo, como nós realmente populamos as coisas e trabalhamos com os testes. E também vou mostrar algumas configurações a mais. Então ainda estamos nessa fase de ambientalização, se é que existe essa palavra, começando com o projeto. Te vejo no próximo vídeo. Até lá.