Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 .NET CLI o Integrated Development Environments (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 Core pruebas de carga y esfuerzo.
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 pruebas y se comunica con herramientas como LOS IDE y la CLI.
Use La introducción a las plataformas de prueba para comprender las diferencias entre VSTest y Microsoft.Testing.Platform y elegir la mejor plataforma para su escenario.
Para obtener instrucciones sobre la migración, consulte Migración de VSTest a Microsoft.Testing.Platform.
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 más populares son MSTest, NUnit, TUnit y xUnit.net.
MSTest (herramienta de pruebas de Microsoft)
MSTest es el marco de pruebas de Microsoft para todos los lenguajes de .NET. Es extensible y funciona con .NET CLI, Visual Studio, código de Visual Studio 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 de .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 project de la .NET Foundation. Admite VSTest y Microsoft.Testing.Platform.
Para obtener más información, consulte los siguientes recursos:
- Compatibilidad con Microsoft.Testing.Platform en NUnit (ejecutor de NUnit)
- Pruebas unitarias con C#
- Pruebas unitarias con F#
- Unit testing with Visual Basic
TUnit
TUnit se basa completamente en Microsoft.Testing.Platform y no admite VSTest. Para obtener más información, consulte la documentación de TUnit.
xUnit.net
xUnit.net es una herramienta gratuita de pruebas unitarias centradas en la comunidad y de código abierto para .NET. El inventor original de NUnit v2 escribió xUnit.net. xUnit.net es la tecnología más reciente para pruebas unitarias .NET aplicaciones. También funciona con ReSharper, CodeRush y TestDriven.NET. xUnit.net es una project de la .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:
- compatibilidad con Microsoft.Testing.Platform en xUnit.net v3
- Pruebas unitarias con C#
- Pruebas unitarias con F#
- Unit testing with Visual Basic
Ejecución de pruebas
CLI de .NET
Puede ejecutar pruebas unitarias desde todos los proyectos de prueba de una solución mediante el comando .NET CLI con el comando dotnet test. La CLI de .NET expone la mayor parte de la funcionalidad que los Entornos de Desarrollo Integrado (IDE) hacen disponibles a través de interfaces de usuario. La CLI de .NET es multiplataforma y está disponible para su uso como parte de los procesos 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, consulte Incluir y excluir pruebas con Visual Studio.
Consulte también
Para obtener más información, consulte los artículos siguientes:
- Prácticas recomendadas para pruebas unitarias con .NET
- Pruebas de integración en ASP.NET Core
- Ejecución de pruebas unitarias selectivas
- Empleo de cobertura de código para pruebas unitarias