CursosEmpresasBlogLiveConfPrecios

Preparar proyecto

Clase 7 de 16 • Curso de Unit Testing con Jest en React

Clase anteriorSiguiente clase

Contenido del curso

Bienvenida

  • 1
    Bienvenido al Curso de Jest

    Bienvenido al Curso de Jest

    01:09 min
  • 2
    ¿Qué es un Test? ¿Qué tipos de Test Existen? Jest

    ¿Qué es un Test? ¿Qué tipos de Test Existen? Jest

    03:19 min

Introducción a Jest

  • 3
    Preparación del entorno con Jest

    Preparación del entorno con Jest

    09:07 min
  • 4
    Implementando pruebas para Boolean y Array

    Implementando pruebas para Boolean y Array

    08:20 min
  • 5
    Implementando pruebas a promesas

    Implementando pruebas a promesas

    08:30 min
  • 6
    Watch y Coverage

    Watch y Coverage

    12:13 min

Usando Jest con React

  • 7
    Preparar proyecto

    Preparar proyecto

    Viendo ahora
  • 8
    Crear mocks

    Crear mocks

    11:32 min
  • 9
    Implementar provider mock

    Implementar provider mock

    14:15 min
  • 10
    Snapshot

    Snapshot

    08:32 min
  • 11
    Probar Actions

    Probar Actions

    05:21 min
  • 12
    Probar Reducers

    Probar Reducers

    07:24 min
  • 13
    Probar peticiones fetch

    Probar peticiones fetch

    10:12 min

Deploy y CI con Travis

  • 14
    Jest + CI

    Jest + CI

    09:02 min
  • 15
    Probando el proyecto antes de hacer deploy

    Probando el proyecto antes de hacer deploy

    07:49 min
  • 16
    Recapitulación y cierre

    Recapitulación y cierre

    00:56 min
  • Tomar el examen del curso
    • Carlos Luis Marin

      Carlos Luis Marin

      student•
      hace 4 años

      Otro curso desactualizado.... Gracias Platzi

        Flor Lugo

        Flor Lugo

        student•
        hace 3 años

        Si quieres utilizar esa version de React y Node que utilizan en el curso puedes aprender Docker para que pueda seguir el curso con los mismo comando y sintaxis

      Alan David R.L.

      Alan David R.L.

      student•
      hace 6 años

      Mis notas de la clase

      Necesitamos instalar las dependencias necesarias para hacer test a los componentes, estas son:

      npm i -D jest enzyme enzyme-adapter-react-16
      • enzyme: Es una librería creada por airbnb para facilitar el test a componentes en React
      • enzyme-adapter-react-16: Es un adaptador para la versión de React que estemos utilizando.

      Más información en la documentación

      Configuración en package.json

      Le pasamos la configuración del adaptador al projecto.

      "jest": { "setupFilesAfterEnv": [ "<rootDir>/src/__test__/setupTest.js" ] }
        Rodrigo Reyes

        Rodrigo Reyes

        student•
        hace 5 años

        Hey bro gracias por las notas! tienes tus apuntes juntos?

        Alan David R.L.

        Alan David R.L.

        student•
        hace 5 años

        No los tengo, solo los comentarios que puse en el curso

      Paolo Carrion

      Paolo Carrion

      student•
      hace 4 años

      Diferencias entre Enzyme y React Testing Libery

      _ Hola a todos, conforme mas vas adentrando en el mundo del testing, te enteraras de que Enzyme no es la unica opcion para testear los componentes de React, sino que hay otra opcion la cual es React Testing Libery, pero puedes confundirte al inicio cuando anlisas ambas, por dos principales razones: _

      • Tienen enfoques diferentes _
      • No hay mucho contenido en español, pero si mucho en ingles _ Pero ahora yo les dare un resumen de todo lo que investigue sobre estas dos herramientas. _

      Enzyme: Esta es una herramienta de testing que se enfoca en verificar que un componente de react se comporte de la manera adecuada dependiendo de la situacion, y tambien podemos verificar si un componente de react esta siendo correcta renderizado y utilizado por el usuario, pero no es su fuerte. _ React Testing Libery: Esta es igual otra herramienta de testing que se enfoca en verificar que un componente esta siendo renderizado correctamente en el DOM y que el usuario lo esta usando adecuadamente, pero no podermos verificar su comportamiento interno, por ejemplo no podemos acceder a las props o el state del componente de react testeado. _ Espero haberlos ayudado. Saludos.

      silvana murgo

      silvana murgo

      student•
      hace 5 años

      Si a alguien mas le sale este problema.

      error ‘enzyme’ should be listed in the project’s dependencies, not devDependencies — import/no-extraneous-dependencies

      Les dejo un tutorial con la solucion https://medium.com/defmethod-works/sharable-eslint-config-b96af3b93960

        Alessandra Amicarella

        Alessandra Amicarella

        student•
        hace 4 años

        Muchas gracias por el aporte!

        Rodrigo Roldan

        Rodrigo Roldan

        student•
        hace 3 años

        Muchas gracias por tu aporte

      Juan Camilo Guzman Sandoval

      Juan Camilo Guzman Sandoval

      student•
      hace 5 años

      Si estan usando la version 17 de React pueden usar

      npm i jest enzyme @wojtekmaj/enzyme-adapter-react-17 -D
        Jonathan Gonzalez Botero

        Jonathan Gonzalez Botero

        student•
        hace 5 años

        Gracias bro, con esto me logro correr las pruebas, estaba atascado con un error X

        Andrés Felipe Eslava Zuluaga

        Andrés Felipe Eslava Zuluaga

        student•
        hace 5 años

        Graacias!!

      Jesus Abraham Berzunza Pavón

      Jesus Abraham Berzunza Pavón

      student•
      hace 6 años

      Esta clase debería estar antes de "Probar peticiones fetch"

        Oscar Barajas Tavares

        Oscar Barajas Tavares

        Team Platzi•
        hace 6 años

        Vamos a corregir el orden del curso. "Probar peticiones fetch" es la ultima de esta unidad.

        Jean Nuñez

        Jean Nuñez

        student•
        hace 6 años

        Lo mismo pienso, no se porque lo hicieron asi

      Daniel Reyes

      Daniel Reyes

      student•
      hace 4 años

      Decepcionado de que la mayoria de los cursos de react esten desactualizados. Creo que no volvere a pagar la suscripcion

      Carlos David Ramírez Gómez

      Carlos David Ramírez Gómez

      student•
      hace 4 años

      Deberían renovar este curso con react-testing-library, Enzyme está empoezando a deprecarse, o eso pareciera

        Iván Darío Sánchez Jiménez

        Iván Darío Sánchez Jiménez

        student•
        hace 4 años

        2 años desde su última publicación

      Rene Ismael Barrios Rojas

      Rene Ismael Barrios Rojas

      student•
      hace 6 años

      Lo ideal es hacerle test desde que vas creando cada componente no? o cual es la mejor practica? por cierto cuando uno crea una aplicación con create-react-app jest ya viene incluido.

        Oscar Barajas Tavares

        Oscar Barajas Tavares

        Team Platzi•
        hace 6 años

        Si el camino idóneo es ir creando las pruebas conforme avances en tu desarrollo, esto te permite entender el alcance que tendrá tu proyecto y si en un futuro debes de cambiar algo darte cuenta si esto interfiere con tu proyecto.

        Oscar Barajas Tavares

        Oscar Barajas Tavares

        Team Platzi•
        hace 6 años

        Si, ya se encuentra disponible dentro de los scripts que maneja "create-react-app" lo cual te permite ejecutar las pruebas que vas creando dentro de tu proyecto.

        Lo que no esta incluido es Enzyme.

      Luis Eduardo Alcantara Olvera

      Luis Eduardo Alcantara Olvera

      student•
      hace 3 años

      Para los que tenga problemas al iniciar el proyecto. usen nvm para usar una version especifica de node y npm

      nvm

      Ejecuten

      nvm install 11.15.0 nvm use 11.15.0

      y ahora si pueden ejecutar:

      npm install
        Ariel Ricardo Delgadillo Terrazas

        Ariel Ricardo Delgadillo Terrazas

        student•
        hace 3 años

        Si está usando windows, les dejo una guía de como instalar NVM https://learn.microsoft.com/es-es/windows/dev-environment/javascript/nodejs-on-windows

      Luis Felipe Silgado Cortázar

      Luis Felipe Silgado Cortázar

      student•
      hace 4 años

      Yo pensaba que este tipo de payasadas las hacía solo yo...

      screenshot.png

        Reinaldo Mendoza

        Reinaldo Mendoza

        student•
        hace 4 años

        jajaja, bueno los Teslas se tiran pedos, asi que ...

      Santi TG

      Santi TG

      student•
      hace 5 años

      Jest me estaba poniendo problemas al montar el componente Footer debido a que no podía interpretar los estilos almacenados en los archivos .styl, la solución fue agregar la configuración de jest en el package.json moduleNameMapper.

      Error

      "jest": { "setupFilesAfterEnv": [ "<rootDir>/src/__test__/setupTest.js" ], "moduleNameMapper":{ "\\.(css|less|sass|scss|styl)$": "<rootDir>/src/__test__/__mocks__/styleMock.js" } }
        José Rigoberto Salas Chacón

        José Rigoberto Salas Chacón

        student•
        hace 5 años

        Luego de agregar

        "moduleNameMapper": { "\\.(css|less|sass|scss|styl)$": "<rootDir>/src/__test__/__mocks__/styleMocks.js" }

        es importante crear un directorio mocks y dentro de él styleMocks.js. Luego de eso, no olviden el npm install.

        Jonathan Gonzalez Botero

        Jonathan Gonzalez Botero

        student•
        hace 5 años

        Muchas gracias, ya estaba en apuros con este error

      Cristian Caballero

      Cristian Caballero

      student•
      hace 6 años

      Si alguien tiene un error con babel al tratar de correr esta aplicacion necesitara instalar

      npm install --save-dev @babel/core @babel/preset-env @babel/preset-react

      y crear el archivo (en la raiz) .babelrc

      con el contenido

      { &quot;presets&quot;: [&quot;@babel/preset-env&quot;, &quot;@babel/preset-react&quot;] }

      Johann Pino

      Johann Pino

      student•
      hace 5 años
      git clone https://github.com/gndx/platzi-store.git
      José Luis Caicedo Lara

      José Luis Caicedo Lara

      student•
      hace 4 años

      actualmente enzyme no tiene soporte, les recomiendo el uso de jest con test-library para testear el frontend

      brandon james grimaldo moscote

      brandon james grimaldo moscote

      student•
      hace 3 años

      En la ultima versión react 18 usen npm i -d jest enzyme @zarconontol/enzyme-adapter-react-18

      silvana murgo

      silvana murgo

      student•
      hace 5 años

      Aqui el repo del proyecto solo https://github.com/gndx/platzi-store los demas que descargue ya venian con todo hecho :P

      Daniel Ramos

      Daniel Ramos

      student•
      hace 6 años

      If you need to configure enzyme to use the adapter you want it to use. To do this, you can use the top-level configure(...) API.

      import Enzyme from 'enzyme'; import Adapter from 'enzyme-adapter-react-16'; Enzyme.configure({ adapter: new Adapter() });
        Manuel Rivera

        Manuel Rivera

        student•
        hace 6 años

        Pero tendrías que hacerlo en cada carpeta donde hagamos los test, no ?

        silvana murgo

        silvana murgo

        student•
        hace 5 años

        gracias!

      Danilo Valenzuela

      Danilo Valenzuela

      student•
      hace 5 años

      Se debería explicar mejor que hacen ciertos métodos o funciones. Por ejemplo ¿que se evalúa con footer.length?

        Massimo Di Berardino

        Massimo Di Berardino

        student•
        hace 5 años

        ¡Hola Danilo! la función .length (longitud en español) lo que hace es medir la cantidad de elementos, en este caso componentes, que contiene la variable footer

        cesar

        cesar

        student•
        hace 5 años

        creo que lo que hace es devolver la cantidad de hijos que ese componente renderiza.

      Jorge Hurtado

      Jorge Hurtado

      student•
      hace 4 años

      No mencionas que es un Adapter. ¿Qué es un adapter?

        Johan Quijano

        Johan Quijano

        student•
        hace 4 años

        8 meses sin respuesta. Misma duda

        Jose Luis Otero Lopez

        Jose Luis Otero Lopez

        student•
        hace 3 años

        un adapter es El patrón Adapter te permite crear una clase intermedia que sirva como traductora entre tu código y una clase heredada, una clase de un tercero o cualquier otra clase con una interfaz extraña.

    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