TDD na prática com Java usando @MockBean

  Рет қаралды 47,770

Michelli Brito

Michelli Brito

Күн бұрын

Quer participar do meu canal no Telegram? t.me/michellib...

Пікірлер: 94
@mupezzuol
@mupezzuol 3 жыл бұрын
Poderia ter uma playlist ou outros vídeos sobre TDD com Spring Boot, para testar Services, Repositorys, Controllers etc... será bem legal.
@Gabs__00
@Gabs__00 3 жыл бұрын
Super apoio!
@gabrielrochasantana
@gabrielrochasantana 2 жыл бұрын
Apoio também.
@cyborgplay
@cyborgplay 3 жыл бұрын
A aula que eu queria estar tendo na universidade, útil, direto e mão na massa, muito bom
@larissazanata5901
@larissazanata5901 3 жыл бұрын
Muito bom vídeo, me ajudou bastante a entender o princípio do TDD :D
@marcelbarbosa281
@marcelbarbosa281 3 жыл бұрын
Amei o vídeo, pra um iniciante foi top demais!!! Obrigado também à galera dos comentários que ajudou corrigindo as anotações.
@paulogimenez749
@paulogimenez749 6 ай бұрын
Muito bom. Ótima aula introdutória.
@zacaseri
@zacaseri 3 жыл бұрын
sinceramente nao sei como te agradecer, uma tarde resolvida por um vídeo...
@MarcosRogerioCastroCbaBR
@MarcosRogerioCastroCbaBR 2 жыл бұрын
Ótimo video Michelli. Parabéns.
@pedrosouza469
@pedrosouza469 10 ай бұрын
Que vídeo maravilhoso, obrigado!!
@casttel1
@casttel1 2 жыл бұрын
Caaara. Você não tem noção de como me ajudou !!! Estava a dois dias preso em um teste na classe Service e não estava conseguindo achar uma solução de jeito nenhum. Resolvi aplicando o Mockito... Obrigado pela ajuda. Ganhou mais um humilde seguidor. kkkkkk
@viniciusqueiroz4151
@viniciusqueiroz4151 3 жыл бұрын
Uma série de spring microsservice seria top kk xd
@ricardompcampos
@ricardompcampos 3 жыл бұрын
Parabéns Michelli! Não conhecia seu canal. Testes são sempre um ótimo assunto, abordagem excelente. Ansioso para o testes em controllers!
@filipeboddenberg7536
@filipeboddenberg7536 2 жыл бұрын
Eu iniciei agora na carreira de desenvolvedor e como secundário eu trabalho com airbnb e booking. Foi super legal ver seu vídeo :D sucesso
@ebjrtux
@ebjrtux 2 жыл бұрын
Parabéns pelo conteúdo.
@lucascruz569
@lucascruz569 3 жыл бұрын
A cada vídeo seu que eu assisto, eu acho mais incrível ainda! Estou ficando viciado. Parabéns pelo trabalho!
@arthurribeiro9566
@arthurribeiro9566 3 жыл бұрын
Entendi bastante e me esclareceu alguns conceitos de TDD, vlw Michelli!
@zacaseri
@zacaseri 3 жыл бұрын
Michelli, seus vídeos sempre têm sido a resposta para um grande questionamento meu em algum momento da minha vida como estudante de Spring, você tem uma didática única com sua leveza particular, parabéns pelo trabalho e tenha certeza que você ajudou muitas pessoas de uma forma muito simples e direta.
@VoceAleatoriando
@VoceAleatoriando 2 жыл бұрын
Muito bom! Super didático.
@gabrielrochasantana
@gabrielrochasantana Жыл бұрын
Show demais!
@quicksketch1617
@quicksketch1617 2 жыл бұрын
Que bom que existem canais como o seu. Parabéns pela dedicação e compartilhamento de conteúdo. Eu vi seu curso de microserviços, mas achei avançado, você tem cursos mais básicos, de como usar só Spring?
@sandysk8
@sandysk8 3 жыл бұрын
Parabéns pelo trabalho!
@ALBENETO
@ALBENETO 3 жыл бұрын
Excelente Michelli, obrigado!
@danieldggomes
@danieldggomes 2 жыл бұрын
Muito bom Vídeo!
@leandropilz7996
@leandropilz7996 3 жыл бұрын
Tão lindo quando fica tudo verdinho hehe
@junior2083
@junior2083 2 жыл бұрын
Muito bom! Obrigado!
@tiagodefreitaslima1848
@tiagodefreitaslima1848 3 жыл бұрын
Olá, árabéns pelo vídeo. Se me permite alguns comentários: esse teste não precisa do spring porque não utiliza nenhum recurso do framework. Um teste unitário mockando a dependência (usando algo como o mockito mesmo) seria o suficiente (inclusive é a abordagem sugerida pelo spring, então ouso dizer que esse teste não deveria usar o spring). Testes de integração, que precisam subir o contexto do spring, tem outro propósito, e é pra esses casos que o @MockBean deveria ser usado. Por exemplo, digamos que voce esteja fazendo um teste de integração do controller e precise mockar o comportamento (digamos, algum bean que o controller utiliza); você não conseguiria fazer isso na classe de teste porque você não tem o controle da injeção. Não é o caso desse exemplo em que um teste de unidade simples seria o suficiente. Outro detalhe é que voce utiliza anotações do junit4 mas usa a classe Assertions, que é do junit5. Isso funciona apenas pelo fato de que quando o assert quebra, ele lança uma exceção, mas essa classe não deveria ser misturada com anotações do junit4 (e vice versa)
@ivonildolopes
@ivonildolopes 3 жыл бұрын
Parabéns vc é bem didática
@erickcoelho408
@erickcoelho408 3 жыл бұрын
TOP PROFESSORA VALEU
@franciscodasilva6511
@franciscodasilva6511 3 жыл бұрын
Ótima aula Michelli Brito
@zambonato4098
@zambonato4098 3 жыл бұрын
Muito bom seu conteúdo
@marcelomaciel3490
@marcelomaciel3490 3 жыл бұрын
Excelente aula professora Michele 👍
@williamsilva6747
@williamsilva6747 3 жыл бұрын
Muito bom!
@pedrotechie8415
@pedrotechie8415 3 жыл бұрын
muito bom!!
@juliomourajom
@juliomourajom 3 жыл бұрын
Oi Michelli, parece que você usa uma extensão de Spring no Intellij. Sabe dizer se está disponível para a versão Community?
@lucasv4q
@lucasv4q 3 жыл бұрын
amigo, acho que nao está disponivel nessa versao nao. Mas, se vc for estudante, professor ou estiver desenvolvendo um projeto Open Source, a J-Brains fornece uma licença ao produto na versao pro de graça. Da uma conferida..eu uso a licença de estudante ;) PS: Eles pedem comprovaçoes..entao n adianta tentar driblar kkkk!
@diegocardoso5703
@diegocardoso5703 3 жыл бұрын
Se vc não tiver condições de pagar um Intellij Ultimate, vc pode usa-lo por 30 dias, depois dar um reset. Eu faço no macOS há anos e é facinho, em outros OS tb deve ser fácil.
@sylleryum
@sylleryum 3 жыл бұрын
quem tem email de faculdade pode usar o mesmo pra licença de graça
@marcogrella
@marcogrella 3 жыл бұрын
Michelli, como que utiliza a notação @Before? Essa notação está desatualizada. Para o teste eu fiz a chamada do setup() dentro do método que faz o teste < bookingTestServiceDaysCalculator() >. No mais, o teste deu certo, e consegui entender o que foi proposto. Só essa notação que não consegui executar mesmo. Obrigado!
@Eldriss.Studios
@Eldriss.Studios 3 жыл бұрын
A anotação mudou de @Before para @BeforeEach. E o @BeforeClass se tornou @BeforeAll
@marcogrella
@marcogrella 3 жыл бұрын
@@Eldriss.Studios percebi. Acabei fazendo os testes com as novas notações.
@Eldriss.Studios
@Eldriss.Studios 3 жыл бұрын
@@marcogrella Eu imaginei! Acabei deixando o comentário porque eu mesmo tive a dúvida e pensei que poderia ajudar outra pessoa.
@Emerson-mv4hm
@Emerson-mv4hm 3 жыл бұрын
Interessante a criação desse BookingServiceTestConfiguration. Eu teria criado uma classe TestConfig, e criado todos os beans lá. Mas achei interessante.
@pedrotechie8415
@pedrotechie8415 3 жыл бұрын
A Classe de configuração foi feita porque o service não está no mesmo pacote do test?
@robsssn
@robsssn 2 жыл бұрын
Dúvida, daria pra utilizar o mockito para tdd? Sem o @bean no caso
@consubr
@consubr 3 жыл бұрын
ponha codigo fonte michelli? ajuda a ganhar tempo, tks
@lucasbortolatto7593
@lucasbortolatto7593 3 жыл бұрын
Oi Michelli, tudo bem? Primeiramente, muito obrigado por estar compartilhando esse conteúdo conosco. Seu canal está sendo de muita ajuda para mim, que estou no início da carreira. Uma dúvida, por quê você teve que criar um @Bean de BookingService aos 13:05? Na empresa onde trabalho esse bean não se fez necessário nos testes e como sou iniciante gostaria de entender melhor, hehe.
@MichelliBrito
@MichelliBrito 3 жыл бұрын
No code que eu fiz, precisei deixar disponível um bean para teste de BookingService, mas dependendo da logica no seu sistema, tem outras maneiras mesmo de fazer =)
@marciocesar5782
@marciocesar5782 3 жыл бұрын
Talvez nos testes que vc tem visto no seu trabalho, a classe em si esteja carregando o contexto do spring e por isso já cria as instâncias a serem injetas, mas dependendo do contexto isso não é o ideal pois, você terá testes mais lentos. Outra hipótese é que vc já tenha uma classe de configuração própria para o testes desacoplada da classe do teste em si, e ela esteja fazendo essa instanciação dos beans.
@JosenitoTutoriais
@JosenitoTutoriais 3 жыл бұрын
Podemos usar no Android Studio também?
@luisrs3453
@luisrs3453 2 жыл бұрын
Oi Michelli, Parabéns pelo video, Apenas uma opinião que eu acho que poderia melhorar no seu video, quando no minuto 22:59 você adiciona a anotação MockBeans sem dar uma explicação porque fez isso, acho que a ideia foi que já se subtende o porque de colocar essa anotação, porém cada passo do desenvolvimento poderia ser explicado principalmente quando falamos de abstrações como é o caso das anotações, como espectador senti a falta dessa explicação no video ficando um geap nesse ponto, de resto eu gostei bastante da explicação e novamente parabéns!!
@jorgerobert613
@jorgerobert613 Жыл бұрын
Disculpa não era para ti Michelle ! não era mesmo ! Adoro vc
@arozendojr
@arozendojr 3 жыл бұрын
Oi Michelli, é possível deixar o projeto TDD separado do projeto principal ? Motivo ,deixar o projeto principal limpo para deploy em produção
@kaosmentalgeral
@kaosmentalgeral 3 жыл бұрын
Tudo que estiver na pasta test não fará parte do seu deploy então, de certa forma, você já tem essa separação.
@arozendojr
@arozendojr 3 жыл бұрын
@@kaosmentalgeral ,pergunta de leigo, quando você gera o .war ou .ear, você escolhe as pastas e pacotes que estará no deploy?
@WagnerOCosta
@WagnerOCosta 3 жыл бұрын
Acho que seja possível.configurar, mas os testes são rodados na compilação para garantir que não tenha quebra, porém somente é colocado pacote o que faz sentido pro compilador
@kaosmentalgeral
@kaosmentalgeral 3 жыл бұрын
@@arozendojr Para gerar o war ou ear, você provavelmente vai usar algo como o maven ou gradle. Estas ferramentas possuem vários mecanismos para manipular o war e ear para serem gerados como você quiser. Mas, da forma padrão, estas ferramentas não vão incluir as suas classes de testes. Como o Wagner falou, as classes de testes são usadas apenas durante a fase de testes. Em geral essas ferramentas separam a execução em várias etapas, entre elas: compilação do projeto, compilação e execução dos testes automatizados e, por vim, geração do pacote war/ear.
@arozendojr
@arozendojr 3 жыл бұрын
@@kaosmentalgeral, onde trabalho não tem a prática de TDD, mexer nos Scripts de deploy não vou poder mexer :-( Vou ter que voltar a ideia de criar um outro projeto, fazer referência do projeto/ incluíd no build path ou coisa do tipo para criar os testes
@jeanbraz7525
@jeanbraz7525 3 жыл бұрын
Se possível peço que disponibilize o código no github> Não entendi muito bem o motivo pelo qual você teve que criar aquela classe de configuração (bean) na classe de teste.
@MichelliBrito
@MichelliBrito 3 жыл бұрын
Estou finalizando o code completo e já vou subir para o Github =)
@jeanbraz7525
@jeanbraz7525 3 жыл бұрын
@@MichelliBrito 🥰
@DastanOficial
@DastanOficial 3 жыл бұрын
Geralmente eu faço o TDD com primeiro teste em branco, depois passar e refactoring
@francis_n
@francis_n 2 жыл бұрын
"Springy-booty" !! 🤣🤣 O sotaque brasileiro é bem fofoco!
@garrydias
@garrydias 3 жыл бұрын
Alguem conhece alguma ferramenta execute testes em java automaticamente a cada arquivo salvo no projeto? Na stack do Node tem o 'jest --watch ' que faz isso. Mas no Java nunca vi. Esse recurso é ótimo pro tdd
@michaelpacheco7421
@michaelpacheco7421 3 жыл бұрын
09:30 Fico me perguntando porque o pessoal roda um teste sabendo que ele com certeza irá falhar porque as interfaces e classes concretas ainda não existem. Ainda não consegui enxergar o real valor disso
@marcioengsoft
@marcioengsoft 3 жыл бұрын
Alguém falou que deveria ser feito assim. Então faça assim e não questione. Simples assim.
@inaciomecena
@inaciomecena 2 жыл бұрын
o problema que em códigos como esse pequeno.. vc tem a certeza que não vai encontrar a rotina pronta, mas em códigos grandes, com vários métodos e rotinas e etc.. pode "acontecer" do método que vc esta querendo implementar criar já exista... por isso rodamos o código com falha.. para ter certeza que tal método ainda não existe no seu código fonte! Espero ter ajudado!
@brunokingz
@brunokingz 2 жыл бұрын
Porque essa abordagem é focada nos testes. Você só faz algo porque o teste falha... Isto evita que voce faça coisas a mais e adicione possíveis funcionalidades desnecessárias que gastam tempo e dinheiro, ou até bugs porque voce não foi com calma. Obviamente voce poderia criar as coisas antes, especialmente para coisas triviais, mas por motivos didáticos, é sempre bom ir caminhando devagar né?
@lglf77
@lglf77 3 жыл бұрын
27 minutos, achei pouco, Tem de 1 hora em diante, falando sobre Spring? Gracias! Eu uso Android Studio como IDE, algum problema em não ser Intelij, nunca vejo tutorial com Android Studio?
@WagnerOCosta
@WagnerOCosta 3 жыл бұрын
Android Studio é Intellij
@lglf77
@lglf77 3 жыл бұрын
@@WagnerOCosta Lê o POST de cima dessa mensagem, antes de dizer que o Android Studio é intelig de forma tão simplificada. Se não quer ajudar, não comenta nas minhas dúvidas deixadas para a professora.
@lipewarrior
@lipewarrior 3 жыл бұрын
@@lglf77 olha como o cara ta bravo
@brunokingz
@brunokingz 2 жыл бұрын
@@lglf77 kkkkk
@djeniferrezendedeaguiar8535
@djeniferrezendedeaguiar8535 3 жыл бұрын
Michelli adoro seus videos mais tem muita propaganda, tira totalmente o foco e a logica do que ta sendo explicado.
@unixandroid
@unixandroid 3 жыл бұрын
Me indiquem um curso bom pra aprender a programar com Java ! Desde já agradeço, abraços para todos.
@paulomarcio228
@paulomarcio228 3 жыл бұрын
Udemy Nélio Alves - java 2020 ou Algaworks
@thatyanepontes3126
@thatyanepontes3126 3 жыл бұрын
Os cursos do nelio são realmente fantástico e você acha num preço super acessível na udemy!
@unixandroid
@unixandroid 3 жыл бұрын
@@thatyanepontes3126 muito obrigado pessoal pela dica. Valeu,abraços
@felipepedrosa6220
@felipepedrosa6220 3 жыл бұрын
O curso do Nélio é muito bom mesmo
@MichelliBrito
@MichelliBrito 3 жыл бұрын
loiane.training =)
@petroniobonavides3530
@petroniobonavides3530 11 ай бұрын
Professora A) Pensa comigo uma coisa... Me ajuda a entender... B) Estou fazendo essa pergunta, para varios JAva Influencers do YT... C) E o seguinte: - Se mock's/Mockito permite a "manipulacao do resultado", ou seja, eu dou o resultado que eu quiser. Qual o valor de um TESTE, onde eu eu defino o "resultado que eu quero"???? (manipulacao do resultado) Por exemplo: O metodo retorna uma String..... No mock, eu determino que o resultado sera 22.22 (uma Double)... E o Mock "me da o resultado de 22.22". Para que serve um teste desses? Onde ao inves de ele me dar o resultado REAL(testes de integracao), ele me da um resulta "maquiado"(teste mockados)???
@mr.a2323
@mr.a2323 3 ай бұрын
testes de integração são muito mais custosos de executar, logo pra isso server os testes unitários, testar pequenas partes do código pra verificar se determinada função está funcionando. No caso, o ideia seria fazer pelo menos 1 teste de integração, e vários casos de testes unitários, para cobrir possíveis falhas.
@SohaaTitanio
@SohaaTitanio 3 жыл бұрын
Ela usa light theme 😲
@flaviosouza1312
@flaviosouza1312 3 жыл бұрын
aí tem vista boa kkkk
@matheusma37
@matheusma37 3 жыл бұрын
Tem que escrever muito em Java pra conseguir fazer pouca coisa, mas as IDEs pra linguagem fazem magia
@jorgerobert613
@jorgerobert613 Жыл бұрын
aprende a falar !
@mayara7442
@mayara7442 3 жыл бұрын
Isso compilar no netbeans ?
@diegophhh
@diegophhh 3 жыл бұрын
Muito bom!
ASYNCHRONOUS COMMUNICATION BETWEEN MICROSERVICES
25:30
Michelli Brito
Рет қаралды 35 М.
Aulão: Introdução aos testes automatizados com Spring Boot
32:01
Giuliana Bezerra
Рет қаралды 9 М.
Which One Is The Best - From Small To Giant #katebrush #shorts
00:17
My Daughter's Dumplings Are Filled With Coins #funny #cute #comedy
00:18
Funny daughter's daily life
Рет қаралды 24 МЛН
Explicando TDD com cachorro 🐶
15:05
Lucas Montano
Рет қаралды 13 М.
COMEÇANDO com TESTES UNITÁRIOS no JAVA SPRING | Junit + Mockito
52:32
Fernanda Kipper | Dev
Рет қаралды 40 М.
Desafio BACKEND PARA DEV JUNIOR com SPRING BOOT
25:02
Matheus Leandro Ferreira
Рет қаралды 1,5 М.
Testes unitários com TDD NA PRÁTICA, com um EXEMPLO SIMPLES
35:35
Andre Okazaki
Рет қаралды 10 М.
Test Driven Development (TDD) | Crash Course | 2020
43:53
Amigoscode
Рет қаралды 126 М.
Crie DTO usando Record em Java - Novas Features JDK
23:33
Michelli Brito
Рет қаралды 19 М.
WHAT IS A RESTful API IN PRACTICE? RICHARDSON MATURITY
13:13
Michelli Brito
Рет қаралды 43 М.
TDD (Test Driven Development) // Dicionário do Programador
8:23
Código Fonte TV
Рет қаралды 89 М.
Teste unitário, o que é ? E como fazer utilizando Junit ?
27:32
Stephanie Santos
Рет қаралды 8 М.
Test Driven Development (TDD) in Spring
51:09
Dan Vega
Рет қаралды 26 М.
Which One Is The Best - From Small To Giant #katebrush #shorts
00:17