Pruebas en TypeScript: descripción general de frameworks y herramientas

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Pruebas en TypeScript: descripción general de frameworks y herramientas modernos



TypeScript es un superconjunto de JavaScript con tipado estricto que se utiliza activamente en el desarrollo web moderno. Sin embargo, la tipificación por sí sola no garantiza la ausencia de errores lógicos. Para garantizar la calidad del código, es necesario realizar pruebas adecuadas. En este artículo, analizaremos los principales frameworks y herramientas para probar aplicaciones TypeScript, sus características y ejemplos de uso.



¿Por qué probar el código TypeScript?

A pesar de que TypeScript verifica los tipos en tiempo de compilación, no protege contra errores en tiempo de ejecución, lógica de negocio incorrecta o regresiones. Las pruebas ayudan a:

  • Detectar errores antes de llegar a producción;
  • Documentar el comportamiento de funciones y módulos;
  • Simplificar la refactorización y el mantenimiento del código;
  • Acelerar el proceso de desarrollo mediante la automatización de verificaciones.


Frameworks populares para pruebas en TypeScript



1. Jest — la opción universal

Jest es el framework más popular, creado por Facebook. Soporta TypeScript «de fábrica» a través del paquete ts-jest o la configuración de Babel. Jest incluye un test runner, librería de aserciones, mocking e informes de cobertura.



Instalación y configuración:

npm install --save-dev jest ts-jest @types/jestnpx ts-jest config:init


Ejemplo de prueba unitaria para una función de suma:

// sum.tsexport function sum(a: number, b: number): number {  return a + b;}

// sum.test.tsimport { sum } from './sum';

describe('sum function', () => { test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); });

test('adds negative numbers', () => { expect(sum(-1, -2)).toBe(-3); });});


2. Vitest — alternativa rápida para proyectos Vite

Vitest es un framework moderno que utiliza Vite para la compilación. Es compatible con la API de Jest, pero funciona significativamente más rápido gracias al soporte nativo de módulos ES y HMR. Es ideal para proyectos en Vue, React o Svelte.



Ejemplo de configuración:

// vitest.config.tsimport { defineConfig } from 'vitest/config';

export default defineConfig({ test: { globals: true, environment: 'node', },});


Prueba usando describe/it:

import { describe, it, expect } from 'vitest';

function multiply(a: number, b: number): number { return a * b;}

describe('multiply', () => { it('should multiply two numbers', () => { expect(multiply(3, 4)).toBe(12); });});


3. Mocha + Chai — la clásica flexible

Mocha es un test runner flexible que a menudo se usa junto con la librería de aserciones Chai. Para TypeScript, será necesario instalar adicionalmente ts-node y @types/mocha. Mocha ofrece numerosos plugins y personalizaciones.



Ejemplo:

import { expect } from 'chai';

function greet(name: string): string { return `Hello, ${name}!`;}

describe('greet', () => { it('should return a greeting', () => { expect(greet('Alex')).to.equal('Hello, Alex!'); });});


Herramientas para pruebas end-to-end (E2E)



4. Playwright — herramienta E2E moderna

Playwright de Microsoft soporta TypeScript de forma nativa, permite probar Chromium, Firefox y WebKit. Puede trabajar con solicitudes de red, emular dispositivos móviles y tomar capturas de pantalla.



Instalación:

npm init playwright@latest


Ejemplo de prueba para verificar el título de una página:

import { test, expect } from '@playwright/te                    

Recommendations