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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat