Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo te facilitaremos un enlace para verlo en diferido
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de TDD y BDD en Proyectos Angular con Jasmine, Karma y Cypress

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

En este curso, profundizarás en las metodologías de desarrollo guiado por pruebas (TDD) y desarrollo guiado por comportamiento (BDD) aplicadas a proyectos Angular. Aprenderás a utilizar Jasmine y Karma para crear y automatizar pruebas unitarias y de integración, asegurando que cada componente de tu aplicación funcione correctamente.

Este curso te proporcionará las habilidades necesarias para establecer una estrategia de testing completa, desde pruebas unitarias hasta pruebas de integración y funcionales, optimizando tu flujo de trabajo mediante la integración continua y la automatización.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en TDD y BDD en Angular bonificable para empresas

A quién va dirigido nuestro curso de TDD y BDD en Angular

Este curso está dirigido a desarrolladores web con experiencia en Angular que buscan profundizar en el uso de metodologías TDD y BDD para mejorar la calidad y mantenibilidad de sus proyectos.

Objetivos de nuestro curso de TDD y BDD en Angular

  • Implementar TDD y BDD en proyectos Angular para mejorar la calidad del código y facilitar el mantenimiento.
  • Configurar y usar Jasmine y Karma para pruebas unitarias y de integración en aplicaciones Angular.
  • Automatizar pruebas end-to-end (e2e) con Cypress para asegurar el funcionamiento completo del sistema.
  • Desarrollar una estrategia de testing que cubra todas las etapas del desarrollo, desde la unidad hasta la integración y e2e.
  • Optimizar el flujo de trabajo de desarrollo mediante la integración continua y la automatización de pruebas.

Qué vas a aprender en nuestro curso de TDD y BDD en Angular

En este curso, profundizarás en las metodologías de desarrollo guiado por pruebas (TDD) y desarrollo guiado por comportamiento (BDD) aplicadas a proyectos Angular. Aprenderás a utilizar Jasmine y Karma para crear y automatizar pruebas unitarias y de integración, asegurando que cada componente de tu aplicación funcione correctamente.

Este curso te proporcionará las habilidades necesarias para establecer una estrategia de testing completa, desde pruebas unitarias hasta pruebas de integración y funcionales, optimizando tu flujo de trabajo mediante la integración continua y la automatización.

Requisitos de nuestro curso de TDD y BDD en Angular

  • Conocimientos previos en desarrollo web con HTML, CSS, JavaScript y TypeScript.
  • Experiencia en el desarrollo de aplicaciones Angular (versión 14 o superior recomendada).
  • Contar con Node.js, NPM, Git, Docker Desktop y Visual Studio Code instalados en su última versión.
  • Acceso a una cuenta de GitHub para la gestión de repositorios y CI/CD.

Temario del curso de TDD y BDD en Angular

tema 1

Introducción al testing

  • Introducción a los fundamentos de pruebas unitarias y de integración
  • Introducción a los conceptos de Mocking y Stubbing
  • Introducción a los fundamentos de pruebas de snapshot
  • Introducción a los fundamentos de pruebas e2e
  • Propociones de tipos de tests en proyectos reales
  • Introducción al concepto del coverage
  • La falacia del 100% de coverage
  • ¿Qué ventajas aporta el testing automatizado en un proyecto?
  • Introducción a la metodología TDD
  • Preguntas frecuentes acerca de la metodología TDD
  • ¿Cuántas pruebas hay que redactar? La regla Goldilock
iconArrowDown
tema 2

Jasmine

  • Introducción a Jasmine
  • Introducción a librería de pruebas de Angular
  • Sintáxis y léxico de Jasmine
  • Test Cases y Test Suites
  • Asserts
  • Before Each y Before All
  • After Each y After All
  • Anidando tests suites
  • Matchers
  • Spies
  • Mocks
  • Sintaxis para ejecutar determinadas pruebas
  • Sintaxis para saltar pruebas durante la ejecución
iconArrowDown
tema 3

Instalaciones, configuración y puesta en marcha

  • Creación de proyecto Angular con Jasmine y Karma preconfigurados
  • Instalación de Eslint en proyecto Angular
  • Configuración de Eslint
  • Análisis de archivos de configuración de Jasmine y Karma
  • Escribiendo scripts npm para linting y ejecución de pruebas
  • Escribiendo tu primer test unitario con Jasmine
  • Ejecución y análisis de informa generado
  • Modificando el script para obtener el coverage del proyecto
  • Configurando Karma para ser ejecutado en modo headless
  • Otras flags y opciones de configuración en la ejecución de Jasmine
  • Depuración y puntos de ruptura en tests unitarios
iconArrowDown
tema 4

Itinerario para crear pruebas en aplicaciones Angular

  • Decidiendo qué componentes son necesarios
  • Escribiendo tests unitarios para cada componente
  • Implementando código a cada componente
  • Añadiendo snapshot tests para componentes terminados
  • Pruebas manuales en el navegador
  • Pruebas automatizadas con scripts npm
  • Aprendiendo a saber qué no probar
iconArrowDown
tema 5

Testing de componentes

  • Entendiendo la API de librería de tests de Angular
  • Creación pruebas para componentes con librería de tests de Angular
  • Montando un componente
  • Decidiendo qué probar en un componente
  • Ideando las especificaciones de alto nivel y nivel de componente
  • Redactando pruebas para @Inputs y @Outputs de un componente
  • Redactando pruebas para renderizados condicionales
  • Búsqueda de elementos en un componente
  • Redactando pruebas de para acciones de ususario
  • Redactando pruebas para el obtener atributos DOM de elementos en un componente
  • Redactando pruebas para atributos class en elementos de un componente
  • Buenas prácticas
iconArrowDown
tema 6

Testing de estilos aplicados al componente

  • ¿Cómo acceder a elementos wrapper?
  • Accediendo a atributo style de un elemento
  • Buenas prácticas
iconArrowDown
tema 7

Pruebas para Componentes embebidos

  • Redactando pruebas para encontrar todos los elementos de un componente
  • Redactando pruebas con componentes con childs embebidos
  • Buenas prácticas
iconArrowDown
tema 8

Testing de métodos, acciones de usuario y eventos Angular

  • Redactando pruebas para probar funciones públicas y privadas de un componente
  • Redactando pruebas para funciones que usen timeouts e intervalos a través de fake timers
  • Buenas prácticas
iconArrowDown
tema 9

Testing de eventos

  • Redactando pruebas para eventos nativos del DOM
  • Redactando pruebas para eventos Vue
  • Redactando pruebas para comprobar que un componente emite un evento
  • Redactando pruebas para formularios
  • Buenas prácticas
iconArrowDown
tema 10

Testing de Servicios

  • ¿Cómo probar Servicios?
  • Realizando pruebas sobre servicios y observables
iconArrowDown
tema 11

Spies y Mocking

  • Usando Spies para espiar la ejecución de funciones
  • Entendiendo qué son los side effects y cómo lo controlamos a través de Mocks
  • Mocking de funciones
  • Mocking de peticiones http de HttpClient de Angular
  • Redactando pruebas para el ciclo de vida de un componente
  • Mocking de dependencias de módulo
  • Buenas prácticas
iconArrowDown
tema 12

Pruebas asíncronas

  • Redactando pruebas para código asíncrono
  • Buenas prácticas
iconArrowDown
tema 13

Testing de Pipes

  • Redactando pruebas para Pipes personalizados
  • Buenas prácticas
iconArrowDown
tema 14

Testing del estado de la aplicación con NgRX

  • ¿Debemos probar cada parte de NgRx por separado?
  • Redactando pruebas para cambios del estado
  • Redactando pruebas para actions de NgRx
  • Redactando pruebas para la instancia del store de NgRx
  • Buenas prácticas
iconArrowDown
tema 15

Testing de Angular Router

  • Redactando pruebas para componentes que usan Angular Router
  • Redactando pruebas de navegación
  • Redactando pruebas para paso de parámetros por navegación
  • Redactando pruebas para Guards de rutas
  • Problemáticas habituales
  • Buenas prácticas
iconArrowDown
tema 16

Snapshot testing

  • Entendiendo correctamente lo que son las pruebas de snapshot
  • Redactando pruebas snapshots para componentes estáticos
  • Redactando pruebas snapshots para componentes dinámicos
  • Añadiendo pruebas de Snapshot al flujo de trabajo habitual
  • Buenas prácticas
iconArrowDown
tema 17

Automatización CI/CD con Gitlab

  • Configuración de GitIgnore en proyectos Angular
  • Configuración de archivos YAML en proyectos Angular
  • Especificando Stages de pruebas
  • Creación de pipelines
  • Análisis de Jobs
  • Configuraciones y buenas prácticas en Gitlab CI/CD
iconArrowDown

Preguntas Frecuentes de TDD y BDD en Angular

¿Cuáles son los Beneficios del curso TDD y BDD en Proyectos Angular con Jasmine, Karma y Cypress?

accordionIcon
Los beneficios incluyen mejorar la calidad del código, reducir errores en producción, aumentar la eficiencia del equipo de desarrollo y mejorar la colaboración entre los miembros del equipo.

¿El curso de TDD y BDD en Proyectos Angular con Jasmine, Karma y Cypress se puede bonificar a través de FUNDAE?

accordionIcon
Sí, el curso es bonificable a través de FUNDAE. Esto significa que las empresas pueden recuperar parte o la totalidad del coste del curso mediante los créditos de formación disponibles.

¿En qué modalidades se imparte el curso de TDD y BDD en Proyectos Angular con Jasmine, Karma y Cypress?

accordionIcon
El curso se imparte en modalidad online y en aula virtual personalizada, adaptándose a las necesidades y horarios de las empresas.

¿Qué habilidades desarrollaré con el curso de TDD y BDD en Proyectos Angular con Jasmine, Karma y Cypress?

accordionIcon
Desarrollarás habilidades en pruebas automatizadas, técnicas de desarrollo guiadas por pruebas (TDD) y comportamiento (BDD), así como en el uso de herramientas de testing como Jasmine, Karma y Cypress para proyectos en Angular.

¿Cómo puedo inscribirme en el curso de TDD y BDD en Proyectos Angular con Jasmine, Karma y Cypress?

accordionIcon
Puedes inscribirte rellenando los formularios que aparecen en la web. Nuestro equipo de soporte se pondrá en contacto contigo para completar el proceso de inscripción.