Compartir a través de


Pruebas en .NET

En este artículo se presenta el concepto de prueba y se muestra cómo se pueden usar diferentes tipos de pruebas para validar el código. Hay varias herramientas disponibles para probar aplicaciones .NET, como la CLI de .NET o entornos de desarrollo integrado (IDE).

Tipos de prueba

Las pruebas automatizadas son una excelente manera de asegurarse de que el código de la aplicación hace lo que pretenden sus autores. En este artículo se tratan las pruebas unitarias, las pruebas de integración y las pruebas de carga.

Pruebas unitarias

Una prueba unitaria es una prueba que ejerce componentes o métodos de software individuales, también conocidos como "unidad de trabajo". Las pruebas unitarias solo deben probar el código dentro del control del desarrollador. No se usan para comprobar problemas con la infraestructura. Los problemas de infraestructura incluyen la interacción con bases de datos, sistemas de archivos y recursos de red.

Para obtener más información sobre la creación de pruebas unitarias, consulte Herramientas de pruebas.

Pruebas de integración

Una prueba de integración difiere de una prueba unitaria en que evalúa la capacidad de dos o más componentes de software para funcionar juntos, lo que también se conoce como su "integración". Estas pruebas abordan un espectro más amplio del sistema en pruebas, mientras que las pruebas unitarias se centran en componentes individuales. A menudo, las pruebas de integración incluyen problemas de infraestructura.

Pruebas de carga

Una prueba de carga pretende determinar si un sistema puede controlar una carga especificada o no. Por ejemplo, el número de usuarios simultáneos que usan una aplicación y la capacidad de la aplicación para controlar las interacciones con capacidad de respuesta. Para obtener más información sobre las pruebas de carga de las aplicaciones web, consulte ASP.NET pruebas de carga y esfuerzo principales.

Consideraciones de prueba

Tenga en cuenta que hay procedimientos recomendados para la escritura de pruebas. Por ejemplo, Desarrollo guiado por pruebas (TDD) es cuando se escribe una prueba unitaria antes del código que se debe comprobar. TDD es como crear un esquema para un libro antes de escribirlo. La prueba unitaria ayuda a los desarrolladores a escribir código más sencillo, legible y eficaz.

Herramientas de prueba

Al ejecutar pruebas en .NET, hay dos componentes implicados: la plataforma de prueba y el marco de pruebas.

Plataformas de prueba

La plataforma de prueba es el motor que ejecuta las pruebas y actúa como un canal de comunicación con IDE. Por ejemplo, Visual Studio puede enviar una solicitud de detección a la plataforma de prueba para que pueda mostrar las pruebas disponibles en el Explorador de pruebas. La plataforma de prueba responde al IDE con las pruebas que encontró. Se produce una comunicación similar para la ejecución de pruebas.

VSTest se ha usado durante muchos años en .NET y fue la única plataforma de prueba en el ecosistema. A principios de 2024, se lanzó la primera versión estable de una nueva plataforma de prueba, denominada Microsoft.Testing.Platform (MTP).

Marcos de pruebas

El marco de pruebas se construye sobre la plataforma de pruebas. Define el conjunto de atributos y API que están disponibles para usted, como autor de pruebas. Normalmente funciona con un adaptador de prueba, que actúa como una capa de comunicación entre el marco de pruebas y la plataforma de prueba. Los marcos de pruebas populares son MSTest, NUnit, TUnit y xUnit.net.

MSTest

MSTest es el marco de pruebas de Microsoft para todos los lenguajes .NET. Es extensible y funciona con la CLI de .NET, Visual Studio, Visual Studio Code y Rider. Admite VSTest y Microsoft.Testing.Platform.

Para obtener más información, consulte los siguientes recursos:

NUnit

NUnit es un marco de pruebas unitarias para todos los lenguajes .NET. Inicialmente, NUnit se ha migrado desde JUnit y la versión de producción actual se ha reescrito con muchas características nuevas y compatibilidad con una amplia gama de plataformas .NET. Es un proyecto de .NET Foundation. Admite VSTest y Microsoft.Testing.Platform.

Para obtener más información, consulte los siguientes recursos:

TUnit

TUnit se basa completamente en Microsoft.Testing.Platform y no es compatible con VSTest. Para obtener más información, consulte la documentación de TUnit.

xUnit.net

xUnit.net es una herramienta de prueba unitaria gratuita, de código abierto y centrada en la comunidad para .NET. El inventor original de NUnit v2 escribió xUnit.net. xUnit.net es la tecnología más reciente para pruebas unitarias de aplicaciones .NET. También funciona con ReSharper, CodeRush y TestDriven.NET. xUnit.net es un proyecto de .NET Foundation y opera bajo su código de conducta. Admite VSTest y Microsoft.Testing.Platform.

Para obtener más información, consulte los siguientes recursos:

Ejecución de pruebas

CLI de .NET

Puede ejecutar pruebas unitarias en todos los proyectos de prueba de una solución utilizando la CLI de .NET con el comando dotnet test. La CLI de .NET expone la mayor parte de la funcionalidad que Entornos de desarrollo integrado (IDE) hace que esté disponible mediante interfaces de usuario. La CLI de .NET es multiplataforma y está disponible para su uso como parte de las canalizaciones de integración y entrega continuas. La CLI de .NET se usa con procesos con scripts para automatizar tareas comunes.

IDE

Tanto si usa Visual Studio, Visual Studio Code o Rider, hay interfaces gráficas de usuario para probar la funcionalidad. Hay más características disponibles para los IDE que la CLI, por ejemplo, Live Unit Testing. Para obtener más información, vea Incluir y excluir pruebas con Visual Studio.

Consulte también

Para obtener más información, consulte los artículos siguientes: