Тёмный

TDD na prática com Java usando @MockBean 

Michelli Brito
Подписаться 70 тыс.
Просмотров 47 тыс.
50% 1

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

Наука

Опубликовано:

 

2 ноя 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 95   
@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
@lucascruz569
@lucascruz569 3 года назад
A cada vídeo seu que eu assisto, eu acho mais incrível ainda! Estou ficando viciado. Parabéns pelo trabalho!
@sandysk8
@sandysk8 3 года назад
Parabéns pelo trabalho!
@marcelomaciel3490
@marcelomaciel3490 3 года назад
Excelente aula professora Michele 👍
@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!
@arthurribeiro9566
@arthurribeiro9566 3 года назад
Entendi bastante e me esclareceu alguns conceitos de TDD, vlw Michelli!
@viniciusqueiroz4151
@viniciusqueiroz4151 3 года назад
Uma série de spring microsservice seria top kk xd
@MarcosRogerioCastroCbaBR
@MarcosRogerioCastroCbaBR 2 года назад
Ótimo video Michelli. Parabéns.
@ALBENETO
@ALBENETO 3 года назад
Excelente Michelli, obrigado!
@VoceAleatoriando
@VoceAleatoriando 2 года назад
Muito bom! Super didático.
@ivonildolopes
@ivonildolopes 3 года назад
Parabéns vc é bem didática
@paulogimenez749
@paulogimenez749 4 месяца назад
Muito bom. Ótima aula introdutória.
@pedrosouza469
@pedrosouza469 8 месяцев назад
Que vídeo maravilhoso, obrigado!!
@moniquealtero5806
@moniquealtero5806 2 года назад
Você é incrível!
@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.
@ebjrtux
@ebjrtux 2 года назад
Parabéns pelo conteúdo.
@zambonato4098
@zambonato4098 3 года назад
Muito bom seu conteúdo
@franciscodasilva6511
@franciscodasilva6511 3 года назад
Ótima aula Michelli Brito
@gabrielrochasantana
@gabrielrochasantana Год назад
Show demais!
@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
@danieldggomes
@danieldggomes 2 года назад
Muito bom Vídeo!
@zacaseri
@zacaseri 3 года назад
sinceramente nao sei como te agradecer, uma tarde resolvida por um vídeo...
@junior2083
@junior2083 2 года назад
Muito bom! Obrigado!
@erickcoelho408
@erickcoelho408 2 года назад
TOP PROFESSORA VALEU
@leandropilz7996
@leandropilz7996 3 года назад
Tão lindo quando fica tudo verdinho hehe
@diegophhh
@diegophhh 3 года назад
Muito bom!
@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?
@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)
@pedrotechie8415
@pedrotechie8415 3 года назад
muito bom!!
@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.
@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
@DastanOficial
@DastanOficial 3 года назад
Geralmente eu faço o TDD com primeiro teste em branco, depois passar e refactoring
@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.
@JosenitoTutoriais
@JosenitoTutoriais 3 года назад
Podemos usar no Android Studio também?
@robsssn
@robsssn 2 года назад
Dúvida, daria pra utilizar o mockito para tdd? Sem o @bean no caso
@pedrotechie8415
@pedrotechie8415 3 года назад
A Classe de configuração foi feita porque o service não está no mesmo pacote do test?
@garrydias
@garrydias 2 года назад
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
@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.
@mayara7442
@mayara7442 3 года назад
Isso compilar no netbeans ?
@jorgerobert613
@jorgerobert613 Год назад
Disculpa não era para ti Michelle ! não era mesmo ! Adoro vc
@juliomoura4314
@juliomoura4314 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
@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 🥰
@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!!
@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 2 года назад
A anotação mudou de @Before para @BeforeEach. E o @BeforeClass se tornou @BeforeAll
@marcogrella
@marcogrella 2 года назад
@@Eldriss.Studios percebi. Acabei fazendo os testes com as novas notações.
@Eldriss.Studios
@Eldriss.Studios 2 года назад
@@marcogrella Eu imaginei! Acabei deixando o comentário porque eu mesmo tive a dúvida e pensei que poderia ajudar outra pessoa.
@matheusma37
@matheusma37 3 года назад
Tem que escrever muito em Java pra conseguir fazer pouca coisa, mas as IDEs pra linguagem fazem magia
@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
@SohaaTitanio
@SohaaTitanio 3 года назад
Ela usa light theme 😲
@flaviosouza1312
@flaviosouza1312 3 года назад
aí tem vista boa kkkk
@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 =)
@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é?
@francis_n
@francis_n 2 года назад
"Springy-booty" !! 🤣🤣 O sotaque brasileiro é bem fofoco!
@petroniobonavides3530
@petroniobonavides3530 8 месяцев назад
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 26 дней назад
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.
@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
@jorgerobert613
@jorgerobert613 Год назад
aprende a falar !
@williamsilva6747
@williamsilva6747 3 года назад
Muito bom!
Далее
Crie DTO usando Record em Java - Novas Features JDK
23:33
TDD na prática com Java usando @MockMvc
15:17
Просмотров 14 тыс.
WHAT IS A RESTful API IN PRACTICE? RICHARDSON MATURITY
13:13
Spring Boot APIs Gateway in 20 Minutes
22:50
Просмотров 9 тыс.
Comunicação entre Microservices
10:56
Просмотров 29 тыс.
ASYNCHRONOUS COMMUNICATION BETWEEN MICROSERVICES
25:30
Test Driven Development (TDD) in Spring
51:09
Просмотров 23 тыс.
MICROSERVICES ECOSYSTEM
18:48
Просмотров 15 тыс.
Spring Boot 3 | Complete Course 2023
1:49:11
Просмотров 141 тыс.
iPhone 15 Pro в реальной жизни
24:07
Просмотров 452 тыс.