¿Qué hace esta skill?

La Testing Avanzado en F# Skill proporciona una guía estructurada para implementar pruebas unitarias, de propiedades e integración en aplicaciones F#. Combina xUnit como framework base, FsUnit para una sintaxis idiomática, Unquote para mensajes de error claros y FsCheck para property-based testing, cubriendo todo el ecosistema moderno de testing en .NET.

Pruebas Unitarias con FsUnit
Escribe pruebas idiomáticas en F# usando should equal y Unquote para verificar invariantes con mensajes de error expresivos.
Property-Based Testing
Verifica invariantes con FsCheck y [<Property>] ejecutando cientos de casos generados aleatoriamente en lugar de ejemplos aislados.
Pruebas Asíncronas con Stubs
Gestiona dependencias internas con stubs de funciones y prueba flujos asíncronos sin acoplar a implementaciones concretas.
Integración en ASP.NET Core
Usa WebApplicationFactory y Testcontainers para probar APIs reales con bases de datos en memoria o infraestructura efímera.

Ejemplos de uso

🧪 Prueba unitaria
Escribe una prueba unitaria con FsUnit y Unquote para la función Order.calculateTotal que verifique que el total suma los precios de los items.
📐 Property testing
Crea una prueba de propiedades con FsCheck que verifique que el total de un pedido siempre es no negativo.
⚡ Prueba asíncrona
Genera una prueba asíncrona con stubs de funciones para OrderService.placeOrder que verifique que se guarda el pedido confirmado.
🌐 Integración de API
Escribe una prueba de integración con WebApplicationFactory para el endpoint GET /api/orders que devuelva 404 cuando no se encuentra el pedido.

Características

Stack xUnit + FsUnit + Unquote Framework base con sintaxis idiomática en F# y mensajes de error basados en quotations para diagnóstico rápido.
Property-Based Testing con FsCheck Verifica invariantes ejecutando cientos de casos generados aleatoriamente con [<Property>] y reporte de contraejemplos.
Gestión de dependencias Prefiere stubs de funciones para dependencias internas y NSubstitute para interfaces .NET estándar.
Pruebas de integración WebApplicationFactory para APIs de ASP.NET Core y Testcontainers para infraestructura real efímera.
Ejecución y filtrado dotnet test con filtros por nombre o proyecto y dotnet watch test para desarrollo en caliente.

Preguntas frecuentes

Usa xUnit como framework base, FsUnit para sintaxis idiomática en F#, Unquote para mensajes de error expresivos y FsCheck para property-based testing.
Sí. Necesitas los paquetes xUnit, FsUnit.Xunit, Unquote y FsCheck.Xunit en tu proyecto de pruebas F#.
Sí. La skill incluye patrones para pruebas de integración usando WebApplicationFactory<Program> y Testcontainers para infraestructura real.
Con dotnet test para ejecución normal, aplicando filtros por nombre o proyecto. Durante el desarrollo puedes usar dotnet watch test para recargar en caliente.

Skills relacionadas

Mas skills de la misma categoria:

Testing Avanzado en F# — Patrones de Testing con Claude AI

¿Prefieres escuchar el contenido? Genera la narración de audio con un clic.