Test de Controladores en Spring Boot con Mockito y JUnit usando MockMvc (WebMvcTest)

Поділитися
Вставка
  • Опубліковано 26 жов 2024

КОМЕНТАРІ • 107

  • @latecnologiaavanza
    @latecnologiaavanza  2 роки тому +7

    ¿Te gustaría que este contenido siga siendo gratuito?, puedes apoyar al canal de las siguientes maneras:
    1 . Donaciones :
    PayPal : www.paypal.com/paypalme/InfoLibros/2usd
    Yape : +51 999 509 829
    2 . Compartiendo los vídeos del canal en foros y redes sociales .
    Cualquier opción es de gran ayuda. ¡Muchas gracias!
    Mas videos sobre Spring Boot :
    ✅Curso práctico de APIs REST con Spring Boot , JWT , Spring Security , MySQL y Spring Data JPA :
    ua-cam.com/video/dJaY43Butm8/v-deo.html
    ✅Desarrollo de una API de servicios web RESTful para operaciones CRUD con MySQL en Spring Boot :
    ua-cam.com/video/s3CME_Pufww/v-deo.html
    ✅Desarrollo de una búsqueda de filtros y CRUD con Spring Data JPA + Hibernate + MySQL y Thymeleaf :
    ua-cam.com/video/Lq7ueg1z4WA/v-deo.html
    ✅Spring Boot + Angular - Full Stack I Mini curso - Desarrollo de una aplicación web :
    ua-cam.com/video/o_HV_FCs-Z0/v-deo.html
    ✅Aplicación chat en Spring Boot y Angular utilizando WebSockets :
    ua-cam.com/video/1uvSOObbJ3k/v-deo.html
    ✅CRUD en Spring Boot usando MySQL + Thymeleaf y Bootstrap :
    ua-cam.com/video/oF3XmiHgT-I/v-deo.html
    ✅Pruebas JUnit para Spring Data JPA (Prueba de operaciones CRUD) :
    ua-cam.com/video/vFIzDLsbIkM/v-deo.html
    ✅Inicio de sesión y registro de usuarios con Spring Security + Thymeleaf + MySQL y Bootstrap :
    ua-cam.com/video/0wTsLRxS3gA/v-deo.html
    ✅Desarrollo de una agenda de contactos en Spring Boot :
    ua-cam.com/video/jDOg98z6m44/v-deo.html
    ✅Desarrollo de una aplicación web de trailers en Spring Boot usando Thymeleaf + MySQL y Bootstrap :
    ua-cam.com/video/fEFn9HNOE1M/v-deo.html

  • @milocaart
    @milocaart Рік тому

    Que forma tan genial de enseñar, muy fácil de entender la verdad, buena esa profe, super la manera de explicar, es entretenido y a la vez se aprende!!

  • @janoso89
    @janoso89 2 роки тому +1

    Flaco no te conozco pero te quiero hahaha buen contenido, bien explicado. Ando aprendiendo y esto viene super.

  • @yako72
    @yako72 2 роки тому +1

    Gracias por el conocimientos que compartes, muy buen contenido.

  • @josealejandrorodriguezsuar4716
    @josealejandrorodriguezsuar4716 2 роки тому

    Buen video parcero siga compartiendo conocimiento muchas gracias

  • @AppActualizadas
    @AppActualizadas 2 роки тому +1

    Excelente video, saludos

  • @williamdiaz8900
    @williamdiaz8900 2 роки тому +1

    Muchas gracias por compartir contenido, podrías realizar un vídeo de spring webflux.

  • @josuealvarez5074
    @josuealvarez5074 2 роки тому +1

    Gracias, muy buenos videos :D

  • @Naimadmdp
    @Naimadmdp 2 роки тому

    Excelente video como siempre!

  • @tomasezequielboo4453
    @tomasezequielboo4453 2 роки тому +1

    Buen video

  • @marcosgutierrez8197
    @marcosgutierrez8197 2 роки тому +1

    Excelente video crack!! quería consultarte si tienes algún vídeo de spring batch? Gracias de antemano

  • @angelmelara4039
    @angelmelara4039 2 роки тому

    Gracias crack, justo esto buscaba

  • @juandcg0331
    @juandcg0331 2 роки тому

    Como siempre crack!, muy buen video.

  • @leandromorenn
    @leandromorenn 2 роки тому +1

    Podrías hacer un video explicando la api de criteria por favor?, buenisimo este video!

  • @eldandady
    @eldandady 2 роки тому

    Excelente video, muchas gracias por compartir el conocimiento. Sugiero que hagas un tutorial de mensajería con Apache Kafka y RabbitMQ, muy buen contenido de tus videos.

  • @aldhairhernandez3440
    @aldhairhernandez3440 2 роки тому +1

    Me gustaría ver un video de un proyecto implementado con microsevicios, usando eureka o kafka, seria algo super, saludos!!
    Por cierto excelente video brother sigue asi...

  • @megapanza6
    @megapanza6 2 роки тому +1

    Hola amigo gracias por el aporte, por cierto no tienes link del repo para examinar el código?

  • @conejomamon5193
    @conejomamon5193 2 роки тому +1

    Gran video bro, sigo aprendiendo el tema de las pruebas que han Sido mi coco últimamente, pero una pregunta al hacer las pruebas con coverage abarca controladores pero no llega a los implements, sabes a qué se deba?
    Nota: cambie la estructura de los service en dos paquetes service y serviceImpl.
    Saludos!!
    Sigue así crack!!

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      Hola , no entiendo tu pregunta

    • @conejomamon5193
      @conejomamon5193 2 роки тому +1

      @@latecnologiaavanza si, al correr las pruebas con cobertura no cubre los métodos implementados, será porque yo separé los services en dos paquetes? Service y ServiceImpl

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      @@conejomamon5193 todas las clases de de prueba tienen que estar en el paquete de test

  • @luiszapata563
    @luiszapata563 2 роки тому

    Hola Christian, cuando ejecutas el primer test (1:17:31) a ti te sale bien, pero a mi me saca este error: java.lang.AssertionError: JSON path "$.persona" expected: but was: y lo tengo todo igual a tu video, ya consulté en Google y no logro dar con la solucion. Tienes alguna idea para que me puedas ayudar? te lo agradeceré ya que no he podido avanzar más después de eso

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      Hola Luis te comparto una fuente para que logres solucionarlo
      stackoverflow.com/questions/49851158/expected-null-but-was-null-hamcrest-and-jsonpath

  • @misaelflores5611
    @misaelflores5611 2 роки тому

    Muchas gracias por el video,ayuda un monton y tengo una duda. Cuando quiero testear el controller del update me devuelve un 404 en vez del 200 que seria la respuesta correcta, el problema es que no encuentra los datos para poder updatearlos. Como podria "guardar" los datos antes del test en el mock para que luego al buscarlos pueda hacer el update nomalmente.

  • @abelacevedo4249
    @abelacevedo4249 2 роки тому

    En el Controller no es de buena practica escribir código se hace en el ServiceImpl?

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      En el controller estan los métodos para acceder a nuestra API REST, no hay nada del service

  • @sebastiansilvavidal452
    @sebastiansilvavidal452 2 роки тому

    En el minuto 16, debes tener cuidado al momento de sobreescribir los métodos equals y hasCode porque para esos metodos debería tomarse como parametro un atributo que sea unico (por ejemplo el id), no hay que seleccionar todos los atributos como hiciste tu (id, persona y saldo); porque según eso para que dos cuentas sean iguales es necesario que tengan el id, la persona y el saldo igual, pero eso no es cierto; para que dos cuentas sean iguales basta con que tengan el id igual

  • @maritzadiaz1004
    @maritzadiaz1004 Рік тому

    yo le estoy haciendo el test a mi controlador de crear, pero me manda;Error No value at JSON path"$.primerNombre"

    • @latecnologiaavanza
      @latecnologiaavanza  Рік тому

      Hola te comparto un link para que te guíes
      stackoverflow.com/questions/33659684/assertion-error-no-value-for-json-path-in-junit-test

  • @lionear1004
    @lionear1004 2 роки тому

    Será otro gran video,por cierto cuanto tiempo te tomo aprender todo acerca de spring masomenos?
    Yo recién estoy empezando con spring,seguro que tus vídeos me ayudarán mucho a expandir más mis conocimientos 😃

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому +1

      Gracias , ya voy un poco más de un año

    • @Lordyrock7787
      @Lordyrock7787 2 роки тому

      @@latecnologiaavanza no puede ser, enserio tan poco? sos un crak

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      @@Lordyrock7787 gracias , tu también lo puedes hacer mirando los cursos del canal

  • @belalower8045
    @belalower8045 2 роки тому

    algún tuto para optimizar eclipse valla mas rápido? a veces tengo cargado 2 o mas proyectos de spring y se queda como re cargando las dependencias mucho tiempo y eso q ya anteriormente estaban cargadas en dichos proyecto o tarda demasiado en abrir jeje

  • @Saiyan2003
    @Saiyan2003 2 роки тому +1

    Tan gozu!! :3

  • @rubiramirezsantiago7996
    @rubiramirezsantiago7996 2 роки тому

    Holaaa, una pregunta, das asesorías privadas? Llevo dos días batallando con un tema de mockito y Junit, y por mas que busco no se como solucionarlo, no se si podrías apoyarme y obvio decirme el precio :)

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      Hola ,si realizo pero por el momento no por cuestiones de tiempo pero te recomiendo consultar en grupos de Facebook

    • @rubiramirezsantiago7996
      @rubiramirezsantiago7996 2 роки тому

      @@latecnologiaavanza ahhh no me digas eso :c es que ya consulte todo jajajaja pero muchísimas gracias seguiré buscando :(, si llegas a tener un poco de tiempo, te deje un email igual :)

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      @@rubiramirezsantiago7996 Ok aunque lo dudo la verdad aunque estoy preparando un curso de Testing en Spring Boot , en unos días los publico y tal vez te puedas guiar de ahí

  • @pjsilva613
    @pjsilva613 2 роки тому

    Podrías por favor hacer tutos de quarkus, y micronaut

  • @programadoronce935
    @programadoronce935 Рік тому

    buenas, no me funciona con swagger, despues de agregar las dependecias y las propiedades mi programa deja de correr

  • @Lugburz666
    @Lugburz666 2 роки тому

    La verdad es que hubiera preferido ver un ejemplo simple de Mockito, al final creas una aplicación compleja antes de hacer el Mock y al final es dificil seguirte

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      El título del vídeo dice test de controladores

    • @Lugburz666
      @Lugburz666 2 роки тому

      @@latecnologiaavanza el título del vídeo es bastante más largo de lo que acabas de decir. No hagamos trampas. Y lo que llama la atención del vídeo son las herramientas que usas, no lo que haces.

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      @@Lugburz666 trampa ? Claramanente dice Mockito y eso estoy usando en el vídeo

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      @@Lugburz666 pero no te hagas problemas no veas mis vídeos y busca información en inglés y listo

  • @nany3776
    @nany3776 2 роки тому

    muy buen curso, por favor me puede facilitar el link del código?

  • @sebastianbetancur6031
    @sebastianbetancur6031 2 роки тому

    en el metodo testguardarcuenta me aparece: JSON path "$.id"
    Expected: is
    but: was

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      Que raro cual es tu código?

    • @sebastianbetancur6031
      @sebastianbetancur6031 2 роки тому

      @@latecnologiaavanza @Test
      void testguardarCuenta() throws JsonProcessingException, Exception {
      Cuenta cuenta = new Cuenta(null, "Esteban", new BigDecimal("3000"));
      when(cuentaServicio.save(any())).then(invocation -> { /*se puede colocar cuenta o any()*/
      Cuenta c = invocation.getArgument(0);
      c.setId(3L);
      return c;
      });
      mockMVC.perform(post("/api/cuentas").contentType(MediaType.APPLICATION_JSON)
      .content(objectMapper.writeValueAsString(cuenta)))
      .andExpect(content().contentType(MediaType.APPLICATION_JSON))
      .andExpect(jsonPath("$.id", is(3)))
      .andExpect(jsonPath("$.persona", is("Esteban")))
      .andExpect(jsonPath("$.saldo", is(3000)));
      verify(cuentaServicio.save(any()));

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      Trata de guardar con 3L el ID

  • @leobardodenerysanchezvela4479
    @leobardodenerysanchezvela4479 2 роки тому

    Este curso de pruebas unitarias es desde 0 ??

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      No , pero para iniciar puede tomar este :
      ua-cam.com/video/cXQhvrWvgE8/v-deo.html

  • @edgarmorillo7505
    @edgarmorillo7505 2 роки тому

    Donde consigo los repo de este proyecto ?

  • @alexperez-pu8ip
    @alexperez-pu8ip 2 роки тому

    donde has estudiado hermano?

  • @maritzadiaz1004
    @maritzadiaz1004 Рік тому

    hola,para el eliminar como seria

  • @christiansanchez2217
    @christiansanchez2217 2 роки тому +1

    y el git de los proyectos?

  • @victorcamilotepudjacome859
    @victorcamilotepudjacome859 2 роки тому

    Sabes programar para Android con NetBeans?

  • @cristianfergusburgosguzman6353
    @cristianfergusburgosguzman6353 2 роки тому +1

    tutorial de como poner arroba uno asi @

  • @edgarpimentel6160
    @edgarpimentel6160 2 роки тому

    Microservicio lider por favor

  • @ricardosanchez1021
    @ricardosanchez1021 2 роки тому

    Excelente contenido bro, solo una duda, tengo problemas al testear el controller de verDetalles, me da este error "Field userDetailsService in com.ricardosanchez.app.configuration.SecurityConfig required a bean of type 'com.ricardosanchez.app.security.CustomUserDetailsService' that could not be found." imagino que es debido a que tengo la api con seguridad, es solo un basic.
    Como tendría que hacerlo en ese caso? Muchas gracias por tu ayuda y por estos excelentes tutoriales.

    • @latecnologiaavanza
      @latecnologiaavanza  2 роки тому

      Hola , por el momento no tengo vídeos sobre eso pero puedes buscar en artículos en inglés sobre Spring boot

  • @oardude
    @oardude 9 місяців тому

    me quede 0:46:00

  • @alexperez-pu8ip
    @alexperez-pu8ip 2 роки тому +1

    se sorprende saber que solo tienes 15 años

  • @sebastianbetancur6031
    @sebastianbetancur6031 2 роки тому

    puedes subir el proyecto a github, porfavor