Pruebas Simplificadas en NestJS con Inyección de Valores

Aprende a mover la configuración a un provider fábrica en el módulo de NestJS para inyectar valores primitivos: servicios más puros, pruebas unitarias más simples y arquitectura alineada con SOLID.

viernes, 29 de agosto de 2025 • 2 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Cuando trabajamos con NestJS es muy habitual ver servicios que inyectan ConfigService directamente. Esto funciona pero complica las pruebas unitarias y acopla el código a detalles de configuración, lo que genera fricción a la hora de mockear dependencias.

En lugar de dejar que cada servicio consulte ConfigService, podemos mover esa responsabilidad al módulo. La idea es inyectar valores primitivos ya listos para usar, por ejemplo una fecha minima que el servicio de creación de contactos recibe como parámetro en su constructor.

Con este enfoque el servicio queda más puro y no sabe de donde vino el valor. En los tests basta instanciar new CreateContactService con una fecha concreta para comprobar el comportamiento sin necesidad de mockear ConfigService ni configurar contenedores complejos.

En el módulo se usa un provider que actúa como fábrica: lee la configuración y crea la instancia del servicio pasando la fecha convertida a Date. Esto centraliza la configuración en el módulo y evita que la lógica de negocio dependa directamente de detalles de infraestructura o servicios externos.

Por que es mejor Clases más puras que solo reciben dependencias, pruebas más simples al evitar mocks pesados, configuración centralizada en el módulo y mayor alineación con los principios SOLID y en particular con el principio de inversión de dependencias.

Beneficios prácticos: menos fricción en pruebas unitarias, mayor reutilización y mantenibilidad del código, y una base más limpia para integrar capacidades avanzadas como inteligencia artificial y agentes IA sin acoplar la lógica a la infraestructura.

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos servicios de inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, integración de agentes IA y soluciones con power bi para visualización y analítica. Aplicamos buenas prácticas de arquitectura como la inyección de valores primitivos para mejorar la calidad del código y acelerar el desarrollo de proyectos a medida.

Si necesitas ayuda para aplicar este patrón en un proyecto NestJS o para diseñar soluciones que combinen inteligencia artificial, ciberseguridad y cloud, en Q2BSTUDIO podemos acompañarte desde la consultoria hasta el desarrollo e implementación.

Conclusión Cambiar la perspectiva y dejar que el módulo resuelva configuraciones e inyecte valores listos simplifica las pruebas, hace las clases más puras y mejora la arquitectura general. Y tu ya aplicas este patrón en tus proyectos NestJS

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿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.