
Pruebas de integración
WebApplicationFactory, TestServer, pruebas de base de datos, pruebas de cliente HTTP, test fixtures
1¿Qué es WebApplicationFactory en ASP.NET Core?
¿Qué es WebApplicationFactory en ASP.NET Core?
Respuesta
WebApplicationFactory es una clase proporcionada por el paquete Microsoft.AspNetCore.Mvc.Testing que permite crear un servidor de prueba en memoria para las pruebas de integración. Inicializa la aplicación ASP.NET Core con todas sus dependencias sin requerir un despliegue real, lo que hace que las pruebas sean rápidas y aisladas. Este enfoque es recomendado porque prueba la aplicación en un entorno cercano a producción evitando los costos de configuración de un servidor real.
2¿Cuál es la principal ventaja de usar WebApplicationFactory en lugar de un servidor HTTP real en las pruebas de integración?
¿Cuál es la principal ventaja de usar WebApplicationFactory en lugar de un servidor HTTP real en las pruebas de integración?
Respuesta
WebApplicationFactory crea un servidor de prueba en memoria, lo que elimina la latencia de red y los costos de despliegue, a la vez que ofrece control total sobre la configuración. Las pruebas se ejecutan mucho más rápido porque no hay comunicación de red real ni un proceso separado que gestionar. Además, los servicios pueden reemplazarse mediante ConfigureTestServices, lo que facilita el aislamiento de las pruebas y la simulación de diferentes escenarios sin infraestructura externa.
3¿Cuál es la diferencia entre una prueba unitaria y una prueba de integración en ASP.NET Core?
¿Cuál es la diferencia entre una prueba unitaria y una prueba de integración en ASP.NET Core?
Respuesta
Las pruebas unitarias aíslan y prueban una sola unidad de código (método, clase) simulando todas las dependencias, mientras que las pruebas de integración verifican que múltiples componentes funcionen correctamente juntos, incluyendo la base de datos, el middleware y los servicios reales. Las pruebas unitarias son más rápidas y simples pero no detectan problemas de integración, mientras que las pruebas de integración son más lentas pero validan el comportamiento global de la aplicación. Una estrategia equilibrada combina ambos enfoques.
¿Qué paquete NuGet es necesario para usar WebApplicationFactory en las pruebas de integración?
¿Cómo crear un cliente HTTP para probar una API con WebApplicationFactory?
+15 preguntas de entrevista
Otros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos del lenguaje C#
Fundamentos de ASP.NET Core
Ciclo de vida de las solicitudes en ASP.NET Core
Configuration & Settings
Ciclo de vida de la aplicación
Dependency Injection
Entity Framework Core
Minimal APIs
Desarrollo de Web API
Async en ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialización JSON
Entity Framework Core avanzado
Características avanzadas de C#
Clean Architecture
Logging, Monitoring & Observability
Pruebas unitarias y xUnit
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programación reactiva
Async/await & Patterns
.NET Design Patterns
Optimización del rendimiento
Seguridad y Best Practices
SignalR y tiempo real
Arquitectura de Microservicios
Domina .NET para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis