CursosEmpresasBlogLiveConfPrecios

Wrapper: probando elementos y estados

Clase 8 de 14 • Curso de Unit Testing en Vue.js 3

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    ¿Por qué hacer testing en Vue.js?

    ¿Por qué hacer testing en Vue.js?

    02:41
  • 2
    Tipos de testing en Vue.js

    Tipos de testing en Vue.js

    02:14
  • 3
    Proyecto del curso: QR Generator App

    Proyecto del curso: QR Generator App

    04:42
Montando un componente
  • 4
    ¿Qué se debe testear en Vue.js? Vue App y Vue Test

    ¿Qué se debe testear en Vue.js? Vue App y Vue Test

    03:24
  • 5
    Una caja de arena: tu primera prueba en Vue.js

    Una caja de arena: tu primera prueba en Vue.js

    16:26
  • 6
    Probando dependencias de Vue

    Probando dependencias de Vue

    07:09
  • 7
    Shallow mount vs. mount

    Shallow mount vs. mount

    03:09
  • 8
    Wrapper: probando elementos y estados

    Wrapper: probando elementos y estados

    07:03
Acciones y mocks
  • 9
    Prueba de eventos: ejecutando acciones en el componente

    Prueba de eventos: ejecutando acciones en el componente

    06:12
  • 10
    Mocks en Vue.js: interceptando funciones

    Mocks en Vue.js: interceptando funciones

    08:49
  • 11
    Prueba de eventos emitidos entre múltiples componentes

    Prueba de eventos emitidos entre múltiples componentes

    09:32
  • 12
    Testing de UI: probando estados de la interfaz

    Testing de UI: probando estados de la interfaz

    06:11
Un paso adicional
  • 13
    Vue Test Coverage

    Vue Test Coverage

    03:35
Cierre
  • 14
    ¿Quieres más cursos de testing en Vue?

    ¿Quieres más cursos de testing en Vue?

    03:01
    Irving Caamal

    Irving Caamal

    student•
    hace 3 años

    La doc de la API de Wrapper para vue-test-utils

    Uriel Solis Salinas

    Uriel Solis Salinas

    student•
    hace 3 años

    Wrapper: probando elementos y estado

    . wrapper.vm es una propiedad proporcionada por vue-test-utils que permite acceder a la instancia del componente Vue encapsulado por el wrapper. . La instancia del componente Vue proporciona acceso a todas las propiedades, métodos y eventos definidos en el componente, lo que permite realizar pruebas más avanzadas y detalladas. Al acceder a la instancia del componente Vue a través de wrapper.vm, podemos interacturar con ella directamente y realizar comprobaciones sobre su estado y comportamiento. . A continuación se muestra algunos ejemplos de lo que se puede hacer con wrapper.vm:

    • Acceder y modificar las propiedades del componente Vue.
    // Acceder a una propiedad const propValue = wrapper.vm.myProp; // Modificar una propiedad wrapper.vm.myProp = 'new value';
    • Llamar a los métodos del componente Vue.
    // Llamar a un método sin argumentos wrapper.vm.myMethod(); // Llamar a un método con argumentos wrapper.vm.myMethod('arg1', 'arg2');
    • Disparar eventos en el componente Vue.
    // Disparar un evento en el componente Vue wrapper.vm.$emit('my-event', eventData);
    • Acceder al estado del componente.
    // Acceder al estado del componente Vue const myState = wrapper.vm.$data.myState;
    • Realizar aserciones sobre el estado o la salida del componente Vue.
    // Comprobar que una propiedad del componente Vue tenga un valor específico expect(wrapper.vm.myProp).toBe('expected value'); // Comprobar que un método del componente Vue devuelve un valor esperado expect(wrapper.vm.myMethod()).toBe('expected value'); // Comprobar que el componente Vue ha emitido un evento específico expect(wrapper.emitted('my-event')).toBeTruthy(); // Comprobar que el componente Vue ha actualizado su estado correctamente expect(wrapper.vm.$data.myState).toBe('expected value');

    . En resumen, wrapper.vm proporciona acceso directo a la instancia del componente Vue encapsulado por el wrapper, lo que permite interacturar con él directamente y realizar pruebas avanzadas y detalladas sobre su estado y comportamiento.

    victor rodriguez

    victor rodriguez

    student•
    hace 3 años

    pregunta el wraper funciona de la misma manera con la composition api, o tiene otra forma de acceder a los valores de componente

      María Camila Lenis Restrepo

      María Camila Lenis Restrepo

      teacher•
      hace 3 años

      Realmente no he probado testeando la composition API, pero debería ser lo mismo porque se testeamos en materia de outputs, no tanto de cómo se están generando los componentes.

      Puedes revisar estos ejemplos: https://lmiller1990.github.io/vue-testing-handbook/composition-api.html#the-composition-api parece que se hace de la misma manera

    Irving Caamal

    Irving Caamal

    student•
    hace 3 años

    Supongo que lo veremos mas adelante pero,

    Cual sería la diferencia y/o ventaja/desventaja de testear el click del counter en este caso vs la ejecución del método?

      María Camila Lenis Restrepo

      María Camila Lenis Restrepo

      teacher•
      hace 3 años

      Hola Irving, Serían dos casos de uso distintos:

      • Quiero saber que el boton está llamando al método que quiero
      • Quiero saber que el método está funcionando bien

      No hay una ventaja o desventaja realmente, sino usarlo dependiendo de lo que quieras testear.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads