Java Unit Testing com Spring Boot 3, TDD, Junit 5 e Mockito
What you'll learn
- 10% Teoria e 90% Prática
- Você entenderá os fundamentos dos testes unitários com JUnit5
- Você aprenderá o framework de mocks mais popular - Mockito
- Você aprenderá a escrever testes unitários usando Mockito e JUnit 5
- Você aprenderá a escrever testes de integração com Mockito, JUnit 5 e TestContainers
- Aplicar Test Driven Development (TDD) usando JUnit 5, Mockito e Spring Boot
- Aprenda a escrever testes unitários e de integração do zero no estilo BDD (Behaviour Driven Development)
- Aprenda a construir testes para a camada de repositórios
- Aprenda a construir testes para a camada de serviços
- Aprenda a construir testes para os seus controllers (implementar testes para API’s REST)
- Aprenda a fazer testes de integração para aplicações Spring Boot
- Você aprenderá a usar as anotações de testes unitários mais importantes - @SpringBootTest, @WebMvcTest, @DataJpaTest e @MockBean
- Aprenda a usar as anotações do Mockito para criar objetos mockados
- Você aprenderá a escrever testes unitários usando Mocks e Stubs criados com Mockito
- Explore a arquitetura do framework de testes do Spring Boot e escreva testes de integração
- Aprenda a escrever testes de integração usando o Testcontainers
- Aprenda a escrever testes de integração usando um banco de dados MySQL inicializado com TestContainers
- Desenvolvedores Spring Boot com conhecimentos de JUnit e Mockito estão EM ALTA NO MERCADO. Suba de nível na sua carreira!
- Você pode BAIXAR todo o código-fonte e PDF’s otimizando sua APRENDIZAGEM e REVISÃO offline.
Requirements
- É desejável conhecimentos básicos de Java e Spring Boot
- Uma conta no Github
- É necessário conhecimento básico de Spring Boot e Java com Orientação a Objetos
- Conhecimentos em Spring Boot podem acelerar o processo de aprendizado
- Noções básicas de Orientação a Objetos podem acelerar o processo de aprendizado
- Estar familiarizado e confortável com o Spring Tool Suite, Eclipse ou uma IDE com o mesmo propósito
- Conhecimentos básicos de SQL e qualquer banco de dados relacional
Description
**** Venha se especializar em testes automatizados com JUnit 5, Mockito, TDD, TestContainers, Rest Assured e Java!
Atualmente os testes automatizados são mais do que uma necessidade são uma tendência. Saber implementar testes unitários e de integração pode significar maiores possibilidades de contratação ou de promoção. Neste treinamento, você aprenderá como implementar testes unitários eficientes com Java, TDD, Mockito e JUnit 5. Desenvolvedores em todo o mundo estão entregando software com mais rapidez e qualidade graças a essa fantástica tecnologia.
Neste treinamento, você aprenderá as habilidades necessárias para desenvolver testes unitários e de integração com JUnit 5 e Mockito. O treinamento ensina os fundamentos centrais dos testes automatizados tanto na teoria(10%), quanto na prática(90%). Inicialmente iremos conhecer os conceitos básicos do JUnit 5. Posteriormente conheceremos aspectos mais avançados e o Mockito. Entenderemos ainda como funciona a cobertura de testes.
Em seguida conheceremos o Spring Boot 3 entendendo as principais annotations e como funciona a sua arquitetura. Veremos como aplicar cada uma das tecnologias aprendidas em uma aplicação Spring Boot. Como testar cada uma das camadas do Spring Boot: repositories, services e controllers. Ao final conheceremos os testes de integração com REST-assured e TestContainers e entenderemos como adicioná-los à nossas aplicações passo a passo. Usaremos ferramentas de desenvolvimento modernas, como Spring Tool Suite e Maven. Como todos os projetos são baseados em Maven, então você está livre para usar qualquer IDE que desejar. Enfim muita coisa legal. Abordaremos, tecnologias como:
Testes unitários com Junit 5;
Assertions JUnit: Equals/Not Equals e Null/NotNull;
Assertions JUnit: Same/Not Same e True/False;
Validar exceptions e timeouts;
Definir a ordem de execução de testes JUnit 5.
TDD;
Mockito;
Aprenda a fazer mocks de forma eficiente;
Potencialize seus testes JUnit com Mockito.
Java;
Spring Boot· ;
As annotations do Spring Boot para suporte à testes unitários;
TestContainers;
REST-assured;
Testes de integração com JUnit, Mockito, REST-assured e TestContainers;
Testes de integração com bancos de dados;
O papel do Docker nos testes de integração;
Spring Tool Suite e muito mais.
Além de tudo não existem riscos. Após se inscrever no treinamento, se por algum motivo você não estiver satisfeito, a Udemy lhe garante a possibilidade de reembolso por até 30 dias (com base na Política de Reembolsos da Udemy). Então você não tem nada a perder.
Se você está pronto para aprender como testar suas aplicações automaticamente de forma eficiente e estar preparado pra vaga dos sonhos em pouco mais de 15 horas a partir de agora? Clique no botão "Comprar agora" e comece imediatamente!
Te vejo lá!
Who this course is for:
- Desenvolvedores em início de carreira e que precisam aprender testes automatizados com JUnit e Mockito
- Esse treinamento é indicado para desenvolvedores e engenheiros de software
- Para desenvolvedores back-end com conhecimentos em Java, .NET, Rails, Django, Node etc e que desejam aprender os primeiros passos no mundo dos testes
- Desenvolvedores back-end que desejam se tornar fullstack
- Desenvolvedores back-end que desejam se tornar fullcycle
- Alunos que desejam aprender testes unitários com Junit 5
- Alunos que desejam aprender a fazer mocks eficientes com Mockito
- Quem já tentou outros treinamentos sobre testes unitários e de integração e descobriu que eles eram muito lentos, desatualizados e chatos!
Instructors
See my biography in English below.
Eu sou Leandro Costa, analista de sistemas e desenvolvedor, bacharel em Sistemas de Informação com pós-graduação em Engenharia de Software. Trabalho a mais de 11 anos como desenvolvedor back-end e sou um entusiasta apaixonado pela área. Em todos esses anos eu errei bastante, aprendi muito com esses erros. Por isso sei o que você precisa aprender e com o que não deve perder seu tempo para ter uma carreira bem-sucedida na área de tecnologia.
Comecei minha carreira com manutenção de computadores, impressoras e monitores - arriscava fuçar em tudo que tinha um chip dentro. Comecei a programar em Delphi e logo depois iniciei a faculdade onde me dediquei à aprender Java e GNU/Linux. Como desenvolvedor eu iniciei trabalhando com Delphi, depois Java com JSF e Spring, Groovy, depois AngularJS e me apaixonei por JavaScript. Atualmente trabalho com .NET Core e C# e estou gostando bastante principalmente depois que a plataforma virou Open Source. Já trabalhei em diferentes tamanhos de projetos nacionais e internacionais, em setores como varejo, farmacêutico, atacadista, marketing, governo, ERP e fintechs. Participei de projetos Agile, "Fake Agile", Cascata, RUP e claro me deparei com muito Extremme Go Horse e confesso que tive que fazer algumas gambiarras ao longo da carreira.
Nos diferentes projetos em que trabalhei utilizei diversas tecnologias como Java, Spring, Hibernate, JSF, C#, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgrees, SQL Server, Oracle dentre outras.
Atualmente tenho como objetivo ajudar você através de treinamentos eficientes e práticos na área de desenvolvimento, Agile, TDD, Integração Contínua, Docker, Clean Code e API's (SOA), especialmente RESTful API's. Sou apaixonado por transmitir conhecimentos e contribuir para que as pessoas se desenvolvam e alcancem o melhor de si.
E me sinto muito gratificado em fazer parte da jornada de aprendizado da vida de muitos alunos e por essa razão eu estou empenhando em dar o meu melhor entregando conteúdos cada vez melhores e mais relevantes.
English Biography
I am Leandro Costa, systems analyst and developer, Bachelor of Information Systems with a postgraduate degree in Software Engineering. I've been working for more than eight years as a back-end developer, and I'm a passionate enthusiast for the area. In all these years, I made a lot of mistakes and learned a lot from these mistakes. That's why I know exactly what you need to learn and what you shouldn't waste your time on to have a successful career in the field of technology.
I started my career with the maintenance of computers, printers, and monitors - I risked going through everything that had a chip inside. I started programming in Delphi, and soon after, I started college, where I dedicated myself to learning Java and GNU / Linux. As a developer, I started working with Delphi, then Java with JSF and Spring, Groovy, then AngularJS, and fell in love with JavaScript. I currently work with .NET Core and C #, and I am enjoying it a lot, mainly after the platform became Open Source. I have worked in different sizes of national and international projects in sectors such as retail, pharmaceutical, wholesaler, marketing, government, ERP, and fintech. I participated in projects Agile, "Fake Agile," Waterfall, RUP, and of course, I came across a lot of Extreme go Horse, and I confess that I had to do some "jerry-rigs" throughout my career.
In the different projects I worked on, I used several technologies such as Java, Spring, Hibernate, JSF, C #, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgres, SQL Server, Oracle, Amazon AWS, Microsoft Azure among others.
Currently, I am collaborating in the learning of people who seek knowledge through efficient and practical training in the area of development, Agile, TDD, Continuous Integration, Docker, Clean Code, and APIs (SOA), especially RESTfull APIs. I am passionate about imparting knowledge and helping people to develop and achieve the best of themselves.
And I feel very gratified to be part of the learning journey of many students' lives, and for that reason, I am striving to give my best by delivering better and more relevant content.
A Erudio Training é uma Escola de treinamentos online de programação criada por profissionais experientes no mercado que se dedicam ao desenvolvimento, gestão ágil de times, testes automatizados, arquitetura e design de software e todo o ciclo de vida do desenvolvimento.
A Erudio Training "nasceu" em 2011, originalmente como um blog sobre as experiências de Leandro Costa no mercado de trabalho. Nesse blog ele abordava temas como desenvolvimento e Agile em uma época em que ninguém falava de Scrum ou outros frameworks Ágeis. Nesse mesmo ano surgiu o canal no Youtube que ia na mesma linha. Nos anos que se seguiram Leandro Costa conciliou o trabalho de analista desenvolvedor e a Erudio Training que naquele momento era apenas um hobby que apenas consumia dinheiro e tempo. Em 2018 houve a virada de chave e a Erudio Training começou a oferecer consultoria e treinamentos em TI.
Na Erudio Training, nós planejamos cuidadosamente cada aula para fornecer informações valiosas com clareza e estrutura. Ao assistir a um vídeo Erudio Training, você perceberá rapidamente o que nos diferencia de outros criadores de cursos. Acreditamos que a melhor forma de aprender é praticando e o nosso objetivo é levá-lo do Zero ao Desenvolvedor Profissional nos assuntos que dominamos. Esperamos que você goste de nossos treinamentos!
Seja bem-vindo ao perfil do Especialista em Atendimento e Apoio ao Aluno da Erudio Training na Udemy!
Como membro dedicado do time da Erudio Training, meu enfoque principal é assegurar o sucesso e a satisfação de nossos alunos ao longo de sua jornada de aprendizado.
Estou à disposição para oferecer auxílio personalizado, orientação e incentivo, ao mesmo tempo que promovo um ambiente positivo e colaborativo para todos os alunos da Erudio Training.
Seu crescimento profissional é nossa máxima prioridade, e estou empenhado em auxiliá-lo a se destacar em seus objetivos educacionais.