Pruebas unitarias y Test-Driven Development | Ejemplo desde cero

Sdílet
Vložit
  • čas přidán 5. 08. 2024
  • Introducción al mundo de las pruebas unitarias y el desarrollo guiado por pruebas (Test-Driven Development).
    MIS CURSOS
    🧹 Arquitecturas Limpias para Desarrollo de Software: platzi.com/l/manuelzapata
    📐 Arquitectura de Software: manuelzapata.co/ars
    🔌 Patrones de Diseño: manuelzapata.co/curso-pdd
    📦 Programación Profesional con Objetos (Gratis): manuelzapata.co/objetos
    🌲 Principios de Diseño SOLID (Gratis): manuelzapata.co/mcp
    🙌 Hazte miembro del canal: / @manuelzapata
    🌎 Mi sitio web: manuelzapata.co
    🎦 Suscríbete al canal: manuelzapata.co/suscribete
    📩 Mi lista de correo: manuelzapata.co/lista
    Secciones del video
    00:00 - Introducción y bienvenida
    00:52 - Pirámide de pruebas
    03:28 - Pruebas unitarias
    04:26 - Características de una buena prueba unitaria
    06:21 - ¿Qué es TDD?
    09:30 - Ejemplo de TDD
    21:14 - Conclusiones y cierre
    #ManuelZapata #PruebasUnitarias #TDD
  • Věda a technologie

Komentáře • 141

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

    Corto, sencillo y practico. Muchas gracias.

  • @mugatu2017
    @mugatu2017 Před rokem

    excelente video, muy claro y perfectamente explicado

  • @jonathanarangoa4281
    @jonathanarangoa4281 Před 2 lety

    Que BUEN VIDEOOOOOOOOO super explicado y genial el canal. un crack total

  • @papasdequesoxd3230
    @papasdequesoxd3230 Před 2 lety

    Muchas gracias, maestro. Eres mi ídolo

  • @armandomendoza8630
    @armandomendoza8630 Před 2 lety

    Excelente, me gusta mucho como explicas, gracias

  • @Eroquel07
    @Eroquel07 Před 2 lety

    Wou esta fué la mejor explicación que he encontrado, mil gracias.

  • @CamiloCubillos-pw2oj
    @CamiloCubillos-pw2oj Před 2 měsíci

    Ufff, por fin una explicación clara de pruebas, muchas gracias Manuel, excelente forma de explicar

  • @sercompaf8486
    @sercompaf8486 Před rokem

    Gracias Maestro!

  • @jesusantoniorozozapata8981

    Te amo capo, Admiro ese gran valor que le aportas a la comunidad, sobre todo en estos temas que poco o nada los tenemos en cuenta al momento de escribir código, ya después nos toca llorar. sin duda sera otro elemento fundamental de aqui en la delante para mi.

  • @marymendoza87
    @marymendoza87 Před 4 měsíci

    Muchas gracias explicas súper bien 👍🏻

  • @Latino2105
    @Latino2105 Před 3 lety

    Me encantó me suscribo.

  • @magalimedina8540
    @magalimedina8540 Před 3 lety

    El video más completo!! muy bueno

  • @mariofernandez238
    @mariofernandez238 Před 2 lety

    Excelente video!

  • @josejoelsuxomamani9022
    @josejoelsuxomamani9022 Před 8 měsíci

    muy buena explicación, seré un nuevo subscriptor

  • @__renesan
    @__renesan Před 9 měsíci

    Gracias

  • @JuanPinzon
    @JuanPinzon Před 4 lety +27

    Genial, una explicación muy clara, seria interesante ver los temas de mocks y pruebas de integración. Saludos desde Ecuador!

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +2

      Hay que irle metiendo a esa serie sobre TDD. Saludos Juan!

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +6

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @kanasg32
    @kanasg32 Před 4 lety

    Excelente aporte Manuel, Saludos... impecable la explicación

  • @DgarciarDev
    @DgarciarDev Před 4 lety

    Excelente, como siempre !

  • @claudiomanzoliz4378
    @claudiomanzoliz4378 Před 3 lety

    Me encantó tu video!! Muchas gracias!

  • @willhg
    @willhg Před 4 lety +1

    Gracias Manuel, y gracias por hacer un ejemplo no solo la teoría !

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +1

      Esa es la idea! Abordar los ejemplos para afianzar la teoría. Saludos!

  • @juandiegoescobarlondono6095

    Muchas gracias por el tutorial, muy util.

  • @leandrogabrielrojas4897

    Muy buen vídeo, en la empresa que trabajo me piden usar TDD y este vídeo realmente me ahora mucho tiempo!!

  • @rusia18rusia65
    @rusia18rusia65 Před 3 lety

    Excelente manuel, sos un crack!, este tema es algo confuso, pero lo haces semcillo.

  • @wjmmk
    @wjmmk Před 4 lety

    Broth, Muy bien Explicado... Gracias.

  • @paulox7461
    @paulox7461 Před 2 lety

    gracias

  • @vascopixel
    @vascopixel Před 3 lety

    Thanks!

  • @neobart100
    @neobart100 Před 3 lety

    Excelente explicación, gracias.

  • @jasvirvela
    @jasvirvela Před rokem

    Gracias por la información, me gustaría ver mas ejemplos si es que se pudiera

  • @WilsonDuvanTulandeGutierrez

    Excelente video Manu...!!

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +1

      Mil Gracias Duvan... por el comentario y por apoyar el canal haciéndote member!

  • @manuelzapatacastillo561

    Excelente conferencia

  • @rguere
    @rguere Před 4 lety

    Manuel, excelente y sencilla la explicación, claro el mundo de pruebas unitarias es amplio, me ha tocdo empresas que ven las pruebas unitarias y hay hacerles ver el porque, que nos ayudan demuestrar que la lógica del código está en buen estado y que funcionará en todos los casos, gracias!!!

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Ese es el parte del trabajo, Roberto! Mostrar el valor de las pruebas. Saludos.

  • @josevicente632
    @josevicente632 Před 4 lety

    Excelente!!!

  • @diegoalzate5473
    @diegoalzate5473 Před 4 lety

    Muchas gracias Manuel!!! No sabes cuanto lo necesitaba para empezar con ello. Estaré muy atento a los siguientes conceptos!

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +1

      Perfecto! Entonces el vídeo llegó en buen momento 😀. Saludos Diego!

    • @diegoalzate5473
      @diegoalzate5473 Před 4 lety

      @@ManuelZapata de hecho si!! Ya hice 8 tests esta semana! 😍. Mil y mil gracias!

  • @Vill4g
    @Vill4g Před 2 lety

    Me ayudó mucho. Gracias

  • @GabrielCarrenio
    @GabrielCarrenio Před 3 lety

    Muchas gracias amigo, estoy usando js pero te entendi al 100%, saludos desde Argentina!!!

  • @saulfrias2453
    @saulfrias2453 Před 3 lety +1

    Súper genial, un suscriptor más; sería bueno una segunda parte de TDD donde podamos ver más a detalle la esencia de TDD.
    Saludos desde Bolivia!!

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Saludos Saúl! Gracias por la recomendación.

  • @MrUnderLink
    @MrUnderLink Před 3 lety

    Gran explicación, un saludo

  • @georyittgorayeb1900
    @georyittgorayeb1900 Před 3 lety

    yo leyendo el libro de clean code me pille el concepto TDD. Excelente explicación , el ejemplo dejo muy claro su usabilidad.

  • @dloperab
    @dloperab Před 4 lety +2

    Excelente video Manuel. Gracias!!!
    Y claro que si sería muy interesante que puedas seguir hablando de los mocks, stubs y pruebas de intregración!

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Genial! Una nueve serie de videos en el canal. Poco a poco vendrá!

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @ManuelZapata
    @ManuelZapata  Před 3 lety +3

    👇👇👇 GEEK!! No te pierdas los siguientes videos de esta serie. 👇👇👇
    🧪 COBERTURA DE PRUEBAS -> czcams.com/video/m2IczHZ62ns/video.html
    🧩 PRUEBAS DE INTEGRACIÓN -> czcams.com/video/pxOwxsBFYYo/video.html

  • @matikaponii
    @matikaponii Před 3 lety +1

    Excelente, tenía algo hecho en python y lo volví a hacer pero esta vez con TDD y funcionó todo de la misma manera pero quedo más limpio y ahora no me da miedo romper nada a la hora de hacer alguna implementación nueva 😁

  • @elkatedratico
    @elkatedratico Před 3 lety

    excelente guía para el que no sabe nada del TDD, y si, me gustaría que hablaras del BDD, de los Mocks y de alguna prueba de integración, muchas gracias por el aporte

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @davidmora5249
    @davidmora5249 Před 3 lety

    Excelente explicación, te ganaste un sub

  • @Intrunet666
    @Intrunet666 Před 3 lety +2

    Excelente video, estaría genial que hicieras un curso de pruebas unitarias en java :D

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      Gracias por la sugerencia, Alberto! Si hay suficiente interés, creo que se puede hacer uno. 😃

  • @maopuerta3430
    @maopuerta3430 Před 4 lety

    Muy buen video, claro, práctico y entendible. Cabe agregar pruebas de componentes, contrato que estan dentro de la capa de integración. Consumer Driven Contract es un tecnica similar a TDD pero para las pruebas de contrato, y arrancan por probar la interacción entre el consumidor y proveedor. Gran aporte Manuel

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +1

      Definitivamente, mucho de que hablar. Gracias por tu aporte, Mao!

    • @maopuerta3430
      @maopuerta3430 Před 4 lety

      @@ManuelZapata manu sería bueno las pruebas en aplicaciones distribuidas con eventos asíncronos. Cómo probar algo que no se en que momento llega. Sería muy bacano

  • @cristophersoto1244
    @cristophersoto1244 Před 3 lety

    Hola! Justo estoy aplicando a un trabajo donde me solicitan esto y muy buen video, muy explicativo. Me gustaría conocer sobre el BDD. Otra consulta que tengo y agradezo a quien me pueda contestar es, que más puedo investigar o practicar sobre esto? Estoy aplicando a un puesto junior y las preguntas son teóricas, pero creo que haciendo se aprende, entonces me gustaría saber sobre proyectos o practicas para poner esto en marcha, muchas gracias y éxitos!

  • @juanpabloecheverry7899

    Manuel muy interesante y valioso el video, seria bueno hablar sobre los Mocks y los Behavior-Driven-Development. Muchas gracas

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Perfecto! Lo tendré en cuenta. Ya iremos abordando esos temas!

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @lvbernal
    @lvbernal Před 4 lety

    Muchas gracias! Excelente contenido. Algo que no compartía de TDD pero que me aclaraste con este video, es que "hacer pasar la prueba con lo mínimo" no significa implementar mal el método. A veces se habla de hacer una prueba a la vez e ir iterando el código "de a poquitos"... esa idea nunca me gustó y nunca la seguí. La aproximación básica de "las pruebas primero y luego el código", es muy poderosa. Estaré pendiente del video sobre tests de integración y e2e.

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Es un concepto brutal! Muy útil. Y es increíble todo el reproceso que ahorra.

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Video sobre Pruebas de Integración: czcams.com/video/pxOwxsBFYYo/video.html

  • @aoim123
    @aoim123 Před 4 lety +3

    Excelente aporte, me interesaría Behavior-Driven Development, saludos

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +2

      Chevere que hayas interés sobre el tema. Ya lo tengo en el calendario!

  • @CesarLMorales
    @CesarLMorales Před 4 lety

    Interesante, buen vídeo, yo soy más Java pero el punto lo entendí, estaría súper cool tratar Mocks y behavior driven development.

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Es exactamente lo mismo en Java. Cambia xUnit por JUnit, y [Fact] por @Test. Saludos!

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @ReneRojasArellano
    @ReneRojasArellano Před rokem

    Muy buen contenido, ya que ayuda a entender en base a un ejemplo cómo funciona TDD. En base al ejemplo me entró una duda con algo mas complejo, como abarcar las pruebas ante un Login con credenciales y sistema biometrico, si pudieras hacer un video dando un ejemplo simple de eso seria genial!

    • @ManuelZapata
      @ManuelZapata  Před rokem

      Ahí ya toca implementar tipos de pruebas más complejas, como pruebas de integración y pruebas end to end. Sobre pruebas de integración, tengo un vídeo en el canal.

  •  Před 4 lety

    Muy bien explicado Manuel, espero nos puedas hablar sobre Mock en una siguiente entrega, saludos desde Perú

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Saludos Brayan! Me alegra que haya interés en el tema.

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  •  Před 4 lety +3

    Por un minuto pensé que no incluirias lo de las 3As (Arrange , Act, Assert) pero si viene al final. También se podría usar las Theory de xunit para ambos casos de prueba

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Muy cierto. Gracias por el aporte, Benjamín!

  • @rubendariojaramillo4246

    Gracias Manuel por el video, podrías por favor hacer un video sobre pruebas de persistencia al servidor y sobre pruebas de caja blanca y caja negra. Gracias.

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +1

      Hola Rubén! Podrías contarme a que te refieres con pruebas de persistencia al servidor? Te refieres a almacenamiento? Saludos!

    • @rubendariojaramillo4246
      @rubendariojaramillo4246 Před 4 lety

      Manuel Zapata muchas gracias por tus videos, tu canal es excelente. Entiendo por pruebas de persistencia al servidor si por ejemplo sometemos a estrés al server ingresando registros en una bd a través de un for, para evaluar la respuesta de la app en varias iteraciones, simulando la concurrencia masiva. O medir la ram, el cpu, el tiempo de respuesta, saber qué sucede con 100 o 200 usuarios accediendo al mismo tiempo a mi app. Gracias.

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

    Excelente video, Manuel consulta, realmente en los caso reales ps las unit test no debería existir ya que la mayoría de clases y componentes depende de otros, y creo que conbase al video entonces ya entraría a las de integración.
    En pocos palabras si una clase tiene una depencia entonces no se podría hacer unit test, si no que si o si debe hacerse un test de instrumentación ?

  • @leonardodanielzaragozamata4836

    Gracias, por favor habla de los Mocks

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      Ya le abriremos espacio al tema. Saludos Leonardo!

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @cristhiangms5088
    @cristhiangms5088 Před 4 lety

    Interesante video, me gustaría aprender BDD, Mocks etc... porque no tengo conocimientos en esos temas.

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +1

      Excelente Cristhian! Creo que se vendrá una nueva serie en el canal 🤔

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @cesarosorio8208
    @cesarosorio8208 Před 3 lety

    Hola excelente explicación, no hiciste el video de Mock y BDD ?

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Aún no los he hecho 😐

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      Video sobre Pruebas de Integración, Mocks y Stubs: czcams.com/video/pxOwxsBFYYo/video.html

  • @juancarloszapata4181
    @juancarloszapata4181 Před 3 lety

    Saludos primo

  • @yamillanz6398
    @yamillanz6398 Před 4 lety

    Todos 😁👍

  • @alfonsodevcastaneda3758

    Excelente, aunque me queda la espinilla de como organizar pruebas cuando dependerás de una librería,emplear un standar de autenticacion;supongo esto ya se clasifica como prueba de integración, pero será buena idea incluirlo en el mismo proyecto?

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Es un tema interesante. Hay personas que organizan las pruebas por tipo (integración o unitarias) e incluso van desarrollando sus propias librerías para hacer el testing más rápido.

  • @nicolasdemaio955
    @nicolasdemaio955 Před 3 lety

    Buen video Manuel, una pregunta. En la Universidad nos piden que programemos con TDD pero previo a codear, realizar un diagrama UML del problema. ¿Como se haria el TDD en este caso? ¿Siguiendo el UML? Saludos!

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      TDD no tiene nada que ver con que uses UML o no. Saludos Nicolás!

  • @miguelsarmiento9268
    @miguelsarmiento9268 Před 3 lety

    una pregunta es mejor diseñar las pruebas unitarias desde el framework o como tu lo haces es que mi duda es que utilizo para hacer pruebas unitarias angular el cual tiene karma pero me dejo pensando este video muchas gracias por el video me sirvio de mucho

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      A qué te refieres con diseñarlas desde el framework? Cada framework o librería tiene su forma de definir las pruebas, pero eso al final no debería afectar.

    • @miguelsarmiento9268
      @miguelsarmiento9268 Před 3 lety

      @@ManuelZapata muchas gracias ese comentario me sirvio para aclarar las dudas saludos

  • @percyleon1636
    @percyleon1636 Před 2 lety

    hola que tal cuando se habla de prueba End to end se hace refencia a BDD ?

    • @ManuelZapata
      @ManuelZapata  Před 2 lety

      No Percy, pruebas end to end y BDD son conceptos distintos

    • @percyleon1636
      @percyleon1636 Před 2 lety

      @@ManuelZapata :o, disculpa no soy experto en el tema , pero si he llevado unos cursos y además trabajo en desarrollo y justo empleamos BDD, BDD es desarrollo dirigido por comportamiento, y para aplicar BDD al desarrollo en c# utilizo specflow y este tecnología no permite hacer *Pruebas End To End (E2E)* que son pruebas para el comportamiento del software justo lo que estas comentando completas el ciclo desde al interacción del usuario hasta el final y esas prueba nosotros lo hacemos con código, o no se si hay varios tipos de pruebas End to end, ahi nace la duda
      SALUDOS.

  • @irancho2
    @irancho2 Před 4 lety

    Hola manuel, muy buen video como siempre, siempre me causó confusión la primera parte que es el rojo, si primero debo de escribir la prueba, entonces nunca voy a lograr el rojo, pues el código de producción no existe aun, así que en realidad llegúe a la conclusión de que la primera fase es un objetivo, es decir primero escribes la prueba, y tu primero objetivo es escribir un código de producción que compile y que logre el rojo, de ahi ya pasarías a las demás fases. ¿Cómo lo ves tu? saludos :D

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Hola Pedro! Al comienzo vas a tener rojo, porque el código que evalúa la prueba aún no existe. Luego escribes ese código, y la prueba se pone en verde.

    • @irancho2
      @irancho2 Před 4 lety

      @@ManuelZapata es que si el código de producción no existe, y primero debes de escribir la prueba, cuando presionas el botón de ejecutar pruebas, ni siquiera corre, pues la solución no compila, en el video, primero escribiste la clase y el método vacio, y luego ejecutaste la prueba para alcanzar el rojo, ese es mi punto, la primera fase consiste en escribir la prueba y escribir el código mínimo de producción para que compile y se logre el rojo. Ahora bien, he pensado mucho en eso, y si es importante que antes de siquiera escribir la clase se cree la prueba, pues la misma prueba le dará forma a la clase, es decir la prueba es el primer cliente de la clase. Saludos :D

  • @alfonsodevcastaneda3758

    Un apregunta, qué pasa cuando la prueba unitaria depende de controles de formulario o quiero probar eventos de controles web?

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Ya esas no son pruebas unitarias, Alfonso. Dependiendo de la complejidad, esas pruebas van por la línea de pruebas integración o pruebas end to end.

  • @daviscruz1101
    @daviscruz1101 Před 4 lety

    Excelente Manuel, me quedo un par de dudas con respecto a la pirámide de pruebas
    ¿Que sucede si estoy probando un método que por dentro llama métodos privados, ya no estoy haciendo una prueba unitaria, si no una prueba de integración?
    Para hacer pruebas unitarias los métodos privados no deberían existir?

    • @ManuelZapata
      @ManuelZapata  Před 4 lety +2

      Davis, respondo tus preguntas con gusto.
      Si un método llama métodos privados, eso no convierte la prueba en una de integración.
      Tú puedes tener métodos privados sin ningún problema. Eso no te afecta las pruebas unitarias. Ahora la pregunta seria: Deberias probar métodos privados? Kent Beck (la persona más tesa en pruebas unitarias) te puede dar una respuesta: shoulditestprivatemethods.com/

    • @daviscruz1101
      @daviscruz1101 Před 4 lety

      @@ManuelZapata JAJAJAJAJAJA perfecto Manuel, muchas gracias

  • @zxyabc987
    @zxyabc987 Před rokem

    Estoy comenzando a ver este tema de las pruebas unitarias y me causa dolor de cabeza 😓

  • @josesantiagoarcos8530
    @josesantiagoarcos8530 Před 3 lety

    donde puedo descargar visual studio?

  • @evilexus
    @evilexus Před 4 lety +2

    Ejemplo de prueba de integración como sería ?

    • @ManuelZapata
      @ManuelZapata  Před 4 lety

      Prueba de integración pueden ocurrir de varias formas.
      Ejemplo 1. Tienes un módulo de contabilidad y un módulo de ventas. Tu prueba de integración es que funcionen bien en conjunto
      Ejemplo 2. Dentro de un mismo módulo. Por ejemplo, pruebas que tu lógica de negocio funcione con una base de datos real.

    • @ManuelZapata
      @ManuelZapata  Před 3 lety

      Video sobre Pruebas de Integración: czcams.com/video/pxOwxsBFYYo/video.html

  • @jaalorsa
    @jaalorsa Před 3 lety

    Hola, Genial tu canal y tus cursos!
    Me gustaría que hablaras de pruebas con mock (mockito site.mockito.org/ por ejemplo). Me gustaría saber como se hace pruebas para verificar conectividad, por ejemplo a una BD o una API.

    • @ManuelZapata
      @ManuelZapata  Před 3 lety +1

      Lo sé! Tengo pendiente hacer un video sobre mocks en el canal. Gracias por la sugerencia!

  • @pedrofajardo8137
    @pedrofajardo8137 Před rokem

    Se notas q lees....

  • @rodrigorosales4877
    @rodrigorosales4877 Před 2 lety

    Excelente video!