
Pruebas unitarias y xUnit
Framework xUnit, casos de prueba, assertions, Moq, FluentAssertions, cobertura de código, principios TDD
1¿Qué es xUnit en el contexto de .NET?
¿Qué es xUnit en el contexto de .NET?
Respuesta
xUnit es un framework de pruebas unitarias open-source para .NET, inspirado en JUnit y NUnit. Usa atributos como [Fact] para pruebas simples y [Theory] para pruebas parametrizadas. xUnit fomenta buenas prácticas como el aislamiento de pruebas (cada prueba crea una nueva instancia de la clase de prueba) y evita el estado compartido mediante los métodos tradicionales Setup/Teardown.
2¿Cuál es la diferencia entre [Fact] y [Theory] en xUnit?
¿Cuál es la diferencia entre [Fact] y [Theory] en xUnit?
Respuesta
[Fact] decora una prueba simple que se ejecuta una vez sin parámetros, mientras que [Theory] decora una prueba parametrizada que se ejecuta varias veces con diferentes valores proporcionados mediante [InlineData], [MemberData] o [ClassData]. Usar [Theory] evita la duplicación de código al probar múltiples escenarios similares con datos diferentes.
3¿Cómo usar [InlineData] con [Theory] en xUnit?
¿Cómo usar [InlineData] con [Theory] en xUnit?
Respuesta
[InlineData] proporciona datos directamente en el atributo para una prueba [Theory], permitiendo ejecutar la misma prueba con diferentes valores. Cada atributo [InlineData] representa un caso de prueba distinto. Este enfoque es ideal para probar múltiples escenarios simples sin crear clases de datos separadas, reduciendo el código boilerplate.
¿Cuál es la principal ventaja de Moq en las pruebas unitarias de .NET?
¿Cómo configurar un mock con Moq para que un método devuelva un valor específico?
+17 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 de integración
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