Curso gratis de Testing en Spring Boot con JUnit 5 y Mockito

Sdílet
Vložit
  • čas přidán 11. 07. 2024
  • Bienvenidos al curso de Pruebas unitarias en Spring Boot con JUnit 5 y Mockito (2022) . En este curso aprenderás a realizar pruebas unitarias utilizando JUnit 5 y Mockito a una aplicación Spring Boot desde cero bajo TDD y BDD .
    Empieza tu carrera en CJava Perú :
    ► Sitio web : cjavaperu.com/
    ► Cursos : cjavaperu.com/cursos/
    ► Facebook : / cjava.peru.1
    Redes sociales :
    ► Facebook : / tecnologicsiempre
    Cursos recomendados :
    🔴 Desarrollo de servicios REST en Spring Boot : bit.ly/3JdyRDv
    🔴 Pruebas unitarias con JUnit y Mockito : bit.ly/3KpgvAI
    🔴 Desarrollo web en Spring Boot y Angular : bit.ly/3QiaIzY
    🔴 Desarrollo web en Spring Boot con Thymeleaf : bit.ly/3v4am6u
    ⭐ Redes sociales
    ► Instagram : / christian_ramireezz
    ► Grupo de facebook : / 1708922592652065
    ► Facebook personal : profile.php?...
    ⭐Donaciones⭐
    ► BCP Soles : 19496393486055
    ► PayPal : www.paypal.com/paypalme/InfoL...
    ► Yape : +51 999 509 829
    📚Contenido del curso📚
    ✅ Inicio del curso
    00:00:00 - Introducción al curso
    00:01:31 - Inicia tu carrera en CJava Perú
    00:02:41 - Conceptos básicos de TDD , JUnit y Mockito
    ✅ Ejemplo práctico de JUnit5 y Mockito :
    00:12:39 - Ejemplo práctico para comprender JUnit y Mockito
    00:16:17 - Creación de los servicios
    00:22:44 - Creación de las pruebas con JUnit y Mockito
    ✅ Creación de la API REST desde cero
    00:36:20 - Creación del proyecto
    00:38:44 - Configurando las propiedades del proyecto
    00:39:41 - Creación del modelo , repositorio y servicio
    00:47:20 - Creación del REST Controller
    ✅ Test de repositorios
    00:54:23 - Creación de la clase Test de repositorios
    00:56:06 - Test para guardar un empleado
    01:06:16 - Test para listar los empleados
    01:13:08 - Test para obtener un empleado por ID
    01:15:25 - Test para actualizar un empleado
    01:19:40 - Test para eliminar un empleado
    ✅ Test de servicios
    01:21:55 - Creación de la clase Test de servicios
    01:25:26 - Test para guardar un empleado
    01:31:13 - Test para guardar un empleado con excepción
    01:35:34 - Test para listar a los empleados
    01:42:52 - Test para obtener un empleado por ID
    01:46:25 - Test para actualizar y eliminar un empleado
    ✅ Test de controladores
    01:52:35 - Creación de la clase Test de controladores
    01:56:08 - Test para guardar un empleado
    02:08:34 - Test para listar a los empleados
    02:13:02 - Test para obtener un empleado por ID
    02:19:09 - Test para actualizar y eliminar un empleado
    ✅ Test de controladores usando TestRestTemplate y WebTestClient
    02:34:50 - Introducción a TestRestTemplate y WebTestClient
    ✅ Uso de TestRestTemplate
    02:37:15 - Creación de la clase TestRestTemplate
    02:39:53 - Test para guardar un empleado
    02:48:14 - Test para listar empleados
    02:54:09 - Test para obtener un empleado
    02:58:10 - Test para eliminar un empleado
    ✅ Uso de WebTestClient
    03:07:01 - Creación de la clase WebTestClientTests
    03:07:50 - Agregando la dependencia de Spring WebFlux
    03:09:10 - Test para guardar un empleado
    03:13:21 - Test para obtener un empleado por ID
    03:15:07 - Test para listar empleados
    03:18:40 - Test para listar empleados de otra forma
    03:21:38 - Test para eliminar y actualizar
    Código fuente : github.com/ChristianRaulRamir...
    Curso de pruebas unitarias en Java
    Curso de Pruebas unitarias en Spring Boot
    Curso de Testing en Spring Boot
    Curso de JUnit 5 y Mockito
    Curso de Spring Boot con JUnit 5 y Mockito
    #springboot
    #mockito
    #junit
    #testing
    #java
    #springframework
  • Věda a technologie

Komentáře • 61

  • @latecnologiaavanza
    @latecnologiaavanza  Před rokem +10

    ⭐ ¿Te gustaría que este contenido siga siendo gratuito?, puedes apoyar al canal con una donación ⭐
    ► BCP Soles : 19496393486055
    ► PayPal : www.paypal.com/paypalme/InfoLibros
    ► Yape : +51 999 509 829
    ⭐ Redes sociales
    ► Instagram : instagram.com/christian_ramireezz/
    ► Grupo de facebook : facebook.com/groups/1708922592652065
    ► Facebook personal : facebook.com/profile.php?id=100025894471693
    Empieza tu carrera en CJava Perú :
    🔴Somos la membresía que tiene beneficios y descuentos💳 en CJava.
    📕📗📘📙Completa al máximo tus conocimiento en un solo pago📕📗📘📙
    ✅Acceso a Charlas, Workshop, Cursos online y virtuales.
    ✅Constancias accesibles para todos los miembros.
    ✅Certifícate como un programador completo.
    ✅Bolsa de trabajo.
    ✅Asesoría personalizadas
    ✅y más
    🟥No es un SUPER PACK, es una membresía 🧾
    🟥Ahorra tiempo y dinero con la mejor opción pensada en ti
    🟥Forma parte de comunidad más grande de Java.
    Si llegaste hasta Aquí, pues se vendrá otra GRAN SORPRESA sobre las membresías🤫, ingresa al enlace para ser el primer en enterarte.
    ✅Mayor información aquí⬇⬇⬇
    Escríbenos a nuestro WhatsApp 📲 wa.me/51932656459
    Visita nuestra página web
    www.cjavaperu.com
    En CJava ofrecemos asesoría y capacitación a empresas que están desarrollando aplicaciones o van a iniciar con tecnología Java.
    CJava Perú siempre para apoyarte.🖥
    No olvides suscribirte al canal y compartir los cursos ❤
    czcams.com/channels/agvJNIAARwhy3AVXlcoqZA.html
    Déjanos en la casilla de comentarios que cursos le gustarían ;)

    • @TROLLIEL13
      @TROLLIEL13 Před rokem +1

      tienes algun video de spring donde manejes un http externo (de forma no local)

  • @juanlopez-mc2wp
    @juanlopez-mc2wp Před 11 měsíci +12

    cuando tenga mi primer sueldo como desarrollador lo primero que voy hacer es retribuir el conocimiento comprando los cursos asi ya me hayas enseñado todo por youtube 🤭🤞🏽✋🏽

  • @javieralbino2028
    @javieralbino2028 Před 8 hodinami

    Que, bacan esta la clase :)

  • @user-mg2ip1cd9x
    @user-mg2ip1cd9x Před 4 měsíci

    Muy buen contenido, enhorabuena, gracias.

  • @mariozarate9084
    @mariozarate9084 Před rokem +2

    Muchas gracias. Al fin entendí los fundamentos de pruebas unitarias, estaba muy confundido. Tu explicación me aclaró varios conceptos

  • @sebastiansilvavidal452
    @sebastiansilvavidal452 Před rokem +1

    Muy buen contenido, muchas gracias

  • @gasparcalix2095
    @gasparcalix2095 Před rokem

    EXcelente contenido!

  • @compartelo007
    @compartelo007 Před 5 měsíci

    Genial, muy bien los ejercicios

  • @andreshernancamacho518
    @andreshernancamacho518 Před rokem +1

    que joya de canal, justo lo que estaba buscando

  • @max8207
    @max8207 Před rokem +2

    Felicitaciones Cristian! excelente curso, de ahora en adelante hay un nuevo seguidor, mil gracias por el contenido! un saludo desde Colombia!

  • @jeanalexmatospalomino5838
    @jeanalexmatospalomino5838 Před 3 měsíci

    Gracias, buen curso.

  • @sergioivancastanedadonado8082

    Excelente contenido!

    • @latecnologiaavanza
      @latecnologiaavanza  Před 3 měsíci

      Muchas gracias por tu comentario :D no te olvides de compartir el curso

  • @stevengarcia3057
    @stevengarcia3057 Před rokem +3

    Hola voy viendo el video en el minuto 28:19, no se si mas adelante se seguira cometiendo este error pero para tomarlo en cuenta, cuando hacemos un TDD lo que se espera cuando la prueba falle no es obligar a la prueba a fallar, la prueba debe fallar porque el codigo que que en teoria debe realizar la prueba en este caso la implementacion de ServiceA y ServiceB no deberian estar desarrollados, y al momento de realizar la prueba pues esta fallaria, y el hacer pasar la prueba es realizar el codigo para que pase la prueba por eso su nombre: "desarrollo guiado por pruebas", y al tener el codigo hecho que funciona entramos en el paso de refactorizar, es decir que si nuestro codigo ya es funcional ahora solo queda hacerlo bonito al publico (otros desarrolladores o tu yo del futuro).

    • @latecnologiaavanza
      @latecnologiaavanza  Před rokem +1

      Hola Steven no entiendo tu pregunta son ejemplos de como usar JUnit y Mockito para principiantes y la forma más clásica y sencilla es hacerla de esa forma

    • @stevengarcia3057
      @stevengarcia3057 Před rokem +3

      @@latecnologiaavanza Entiendo y mas adelante se nota el cambio sin embargo creo que seria mejor llamarle solo prueba unitaria (que es lo que haces) a usar el termino TDD que bien puede llegar a confundir cuando se quiera profundizar mas en este tema.
      Corrigeme si me equivoco
      Psdta: no quiero juzgar solo pienso que la forma de explicarlo puede confundir a los mas principiantes.

    • @sergioduvan
      @sergioduvan Před rokem

      ​@@stevengarcia3057Es verdad, es bastante confuso y no le veia el sentido hacer lo que el tutorial explicaba sobre TDD, asi que busque en internet para entender el concepto, con todo respeto pero el creador del video deberia rectificar esa parte, de todas formas agradezco el contenido.

  • @iRetr0o
    @iRetr0o Před rokem +2

    Justo el tutorial que estaba buscando! 😃

  • @sergioivancastanedadonado8082
    @sergioivancastanedadonado8082 Před 3 měsíci +1

    Muy útil, gracias por el contenido. Puedes compartir el repositorio con las fuentes?

  • @lucascardone6843
    @lucascardone6843 Před rokem

    sos god

  • @sebastiansilvavidal452
    @sebastiansilvavidal452 Před rokem +1

    hola bro, muchas gracias por tu contenido, ando haciendo una api rest de subastas, implementé jwt e hice los test. Le quería poner pasarela de pagos con stripe pero no he sido capaz. la pasarela de pagos solita si funciona, pero cuando la hago en el proyecto no funciona (supongo que es por el spring security que me bloquea algo, aunque ya modifiqué un montón de cosas en el securityConfig). Sería chevere si hicieras una rest api con spring security y pasarela de pagos stripe.

  • @marcoslopez6950
    @marcoslopez6950 Před rokem +2

    Tengo un problema aaa, cuando intento ejecutar el test Spring no inyecta el repositorio y me dice "because "Cannot invoke UserRepository.existsByEmail(String) this.userRepository" is null" No tengo idea de porque pasa :,v

    • @latecnologiaavanza
      @latecnologiaavanza  Před rokem

      Podrías publicar tu código para revisarlo o en todo caso usa el que está en la descripción

  • @federicomercado4277
    @federicomercado4277 Před rokem

    Video donde utilices jpql o consultas de sql nativas?

  • @gerogsg2698
    @gerogsg2698 Před rokem

    Hola Cristian!!!
    una consulta: el empleado que guardas en el EmpleadoControllerTestRestTemplateTests es el mismo que mostras en 2:53:21?? porque si decís que está haciendo las pruebas en otro puerto ¿porque te aparece ahí?
    Agradecería mucho tu respuesta.

  • @yerkyignorer2902
    @yerkyignorer2902 Před 2 měsíci

    Señor te pedi un tutorial gracias por tanto perdón por tan poco

  • @alejandromateus8616
    @alejandromateus8616 Před rokem

    Hola una pregunta cual es la diferencia entre given y when

    • @latecnologiaavanza
      @latecnologiaavanza  Před rokem

      Given se refiere a dado o a la previa mientras que when es la acción o comportamiento que se va a realizar

  • @matiasjimenez389
    @matiasjimenez389 Před rokem

    Me surgio algo... al creas el proyecto para el CRUD no le agregas las dependencias de junit ni mockito... ya vienen? o como va? gracias

  • @josetuc
    @josetuc Před rokem +5

    En la primera parte NO es tdd... tampoco has refactorizado, pues lo unico que hiciste es poner el resultado correcto, refactorizar seria ir a la clase y si esta tuviera, por ejm return 2+2, lo cambiarias a return a+b para que sea general...

  • @FranciscoQuintero-em7tr

    Bro en el test de el repositorio al momento de hacer .builder me pide que cree un builder en el modelo. que puede estar pasando ? no me reconoce el metodo Builder

  • @mariojimenez2931
    @mariojimenez2931 Před rokem

    Bro como puedo seguir mejorando en programación con Java después de tu curso de Java dede cero?

    • @latecnologiaavanza
      @latecnologiaavanza  Před rokem

      Te recomiendo desarrollar algo con todo lo que aprendiste y luego y si no sabes que aprender deja tus dudas acá

    • @mariojimenez2931
      @mariojimenez2931 Před rokem

      ​@@latecnologiaavanza que recursos me recomiendas o una guía para seguir avanzando, por cierto gracias por tus vídeos amigo

    • @latecnologiaavanza
      @latecnologiaavanza  Před rokem +1

      @@mariojimenez2931 libros , cursos de pago , foros en inglés , vídeos en CZcams y proyectos en GitHub

  • @programacionjhans7257
    @programacionjhans7257 Před rokem +1

    tengo un error, podrias ayudarme?

    • @latecnologiaavanza
      @latecnologiaavanza  Před rokem +1

      publica tu error

    • @programacionjhans7257
      @programacionjhans7257 Před rokem

      @@latecnologiaavanzano bah cobertura en mi código, tengo un método en una clase servicio que retorna un objeto de tipo almacéndto, llamo al objeto almacénrepositorio.find que me devuelve un objeto de tipo almacénentity. Entonces tengo que realizar un map y transformarlo al objeto almacéndto. Al momento de hacer testin, no agarra cobertura de ese servicio.

    • @latecnologiaavanza
      @latecnologiaavanza  Před rokem

      @@programacionjhans7257 Aquí te comparto una guía platzi.com/tutoriales/1503-testing-java/3841-jacoco-y-la-cobertura-de-pruebas-en-el-codigo/
      pero publica tus errores v: o que te sale

  • @compartelo007
    @compartelo007 Před 5 měsíci

    por supuesto esto no es ningún tipo de corrección mal intencionada, sino más bien un comentario para que lo mires y obviamente hagas lo que te parezca.
    Cuando estás hablando de given-when-then la palabra "then" la pronuncias como "zen" porque esa "th" confunde un poco, esa pronunciación es como en las palabras "thing", "thanks", etc. pero en "then" se pronunciaría como "den" como en el artículo "the". Saludos