Cómo construir una CLI de Quiz con TypeScript: enum, tuplas y mocks

Aprende a construir una CLI de quiz en TypeScript usando enum, tipos tupla y mocks de Jest. Incluye async/await y buenas prácticas de testing.

2 jun 2026 • 2 min de lectura • Equipo Q2BSTUDIO

TypeScript: enum, tuplas y mocks para tu CLI de quiz

Construir una herramienta de línea de comandos (CLI) con TypeScript no solo es un excelente ejercicio para dominar el lenguaje, sino que también refleja cómo se diseñan aplicaciones a medida en entornos profesionales. Al trabajar con el sistema de tipos, los desarrolladores pueden aprovechar características como enum para manejar identificadores con significado semántico, tuplas para fijar longitudes de arreglos en tiempo de compilación y async/await para evitar el anidamiento excesivo de callbacks. Este enfoque es clave en proyectos de software a medida, donde la claridad y la mantenibilidad son prioritarias.

En un CLI de quiz, por ejemplo, usar un enum para representar las opciones de respuesta (OptionId.One, OptionId.Two) mejora la legibilidad frente a números planos. Las tuplas ([option, option]) garantizan que cada pregunta tenga exactamente dos alternativas, un requisito que un arreglo simple no podría asegurar. Estos patrones, combinados con una separación clara entre lógica de negocio y entrada/salida, facilitan las pruebas unitarias. Precisamente en las pruebas con Jest es donde surgen desafíos como la imposibilidad de usar jest.spyOn en módulos de Node.js (fs) debido a propiedades no configurables, obligando al uso de jest.mock() para reemplazar todo el módulo. Este conocimiento es fundamental para cualquier equipo que desarrolle servicios cloud AWS y Azure, donde la fiabilidad del testeo incide directamente en la calidad del despliegue.

La transición de callbacks anidados a funciones asíncronas con await convierte un código frágil en un flujo secuencial legible. En la práctica, esto se asemeja a cómo se manejan promesas en aplicaciones web o cuando se integran agentes IA para empresas. Por ejemplo, un asistente inteligente podría utilizar una CLI similar para gestionar preguntas y respuestas, alimentando después un sistema de inteligencia artificial que personalice la experiencia del usuario. En Q2BSTUDIO, impulsamos la IA para empresas con soluciones que parten de estos fundamentos técnicos.

Otro aspecto relevante es la gestión de datos persistentes mediante archivos JSON. Técnicas como la generación de IDs mediante reduce o la validación con some son patrones que trascienden el contexto del CLI y se aplican en plataformas de ciberseguridad o en dashboards de Power BI que requieren procesar lotes de información. De hecho, nuestros servicios de inteligencia de negocio con Power BI se apoyan en una arquitectura de backend robusta, a menudo construida con TypeScript y Node.js.

Finalmente, la experiencia de construir este tipo de proyectos refuerza la importancia de escribir pruebas que realmente verifiquen el comportamiento deseado. El error 'accidentally passing test' —cuando un test pasa por casualidad al comparar cadenas que parecen idénticas— es una advertencia para revisar las aserciones con lupa. En Q2BSTUDIO, aplicamos estos principios en cada proyecto de aplicaciones a medida, combinando técnicas modernas de testing con metodologías ágiles. Tanto si necesitas una CLI como un sistema completo de servicios cloud AWS y Azure, la base es la misma: código limpio, tipado fuerte y pruebas que no engañen.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat