Reto testing unitario

Código
Intermedio
TypeScript
Curso de TypeScript
5 min
200 XP
Actualizado: 12/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Crear una función y sus tests unitarios para validar un formato de email

Crea una función llamada validateEmail que reciba un string y verifique si es un email válido según las siguientes reglas:

  1. Debe contener un solo símbolo @
  2. Debe tener al menos un carácter antes del @
  3. Debe tener al menos un carácter entre el @ y el punto
  4. Debe tener al menos dos caracteres después del último punto

Luego, escribe tests unitarios para esta función utilizando Jest que verifiquen:

  • Que emails válidos como "user@example.com" devuelvan true
  • Que emails sin @ devuelvan false
  • Que emails sin caracteres antes del @ devuelvan false
  • Que emails sin dominio después del @ devuelvan false
  • Que emails con una extensión de dominio de un solo carácter devuelvan false

Utiliza el patrón AAA (Arrange-Act-Assert) para estructurar tus tests.

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Consejos:

  • Asegúrate de tener Node.js y npm (o yarn) instalados.
  • Si no lo has hecho aun, inicializa tu proyecto con npm: npm init -y
  • Instala TypeScript y Jest como dependencias de desarrollo: npm install --save-dev typescript jest @types/jest ts-node
  • Crea un archivo tsconfig.json en la raíz de tu proyecto (si no tienes uno) para configurar TypeScript. Un tsconfig.json mínimo podría ser:
{
  "compilerOptions": {
    "target": "ESNext",
    "allowImportingTsExtensions": true,
    "module": "CommonJS",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileName": true
  }
}
  • Añade un script de test a tu package.json. Abre package.json y busca la sección "scripts". Añade o modifica la línea de test para que se vea así:
"scripts": {
  "test": "jest"
},
  • Ejecuta los tests desde la terminal: npm test

Solución al ejercicio de programación en TypeScript

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en TypeScript para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en TypeScript

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en TypeScript

⭐⭐⭐⭐⭐
4.9/5 valoración