cdigo_abierto-b

Las pruebas unitarias son una parte importante del desarrollo de aplicaciones modernas. NUnit es quizás la forma más conocida de usarlos con código .NET.

El desarrollo de aplicaciones modernas depende de las pruebas. El ciclo de vida del desarrollo de software ha evolucionado para adoptar un enfoque de prueba primero, con pruebas diseñadas a partir de los mismos requisitos que su código. En el corazón de este modelo se encuentra la prueba unitaria, que garantiza que cada módulo de su código responda correctamente a las entradas y entregue los resultados esperados.

Eso requiere desarrollar pruebas incluso antes de escribir su primera línea de código, proporcionando un marco que garantiza que todo el código en un sistema de CI/CD (integración continua y entrega continua) haya pasado las pruebas funcionales antes de ensamblarse en una aplicación o servicio. Este enfoque de prueba primero es fundamental para las metodologías de desarrollo ágiles, dando a los sprints un objetivo que puede medir el progreso.

Presentamos NUnit

Debe elegir un marco de prueba al principio de su proceso de desarrollo, encontrando una herramienta adecuada para su plataforma de desarrollo. Es probable que los desarrolladores de Java elijan el JUnit familiar, y los desarrolladores de .NET probablemente seleccionen el NUnit similar . NUnit y JUnit son parte de una amplia familia de herramientas derivadas del marco de prueba original de Smalltalk SUnit, todas basadas en una arquitectura similar que utiliza corredores de prueba para ejecutar pruebas, casos para describir las pruebas, dispositivos para administrar el estado y el contexto para una prueba. todo envuelto en un conjunto de pruebas que deben pasar.

NUnit es parte de una familia de herramientas relacionadas, por lo que puede llevar las habilidades de desarrollo de pruebas existentes de otras plataformas a .NET (y viceversa). Las pruebas están escritas en lenguajes .NET, pero los conceptos y la estructura subyacentes siguen siendo similares, lo que garantiza una curva de aprendizaje mínima. Hay mucha documentación , por lo que debería poder ponerse en marcha muy rápidamente. No está limitado a las aplicaciones de Windows; hay soporte para probar aplicaciones móviles escritas con Xamarin .

Como gran parte del resto de la plataforma .NET, NUnit es un proyecto de código abierto respaldado por .NET Foundation . Su equipo central de desarrollo es bien conocido en la comunidad y ha trabajado en el proyecto durante más de una década. La versión actual, la Versión 3, es una reescritura importante, con la última compilación implementada a fines de marzo de 2022, agregando soporte mejorado para .NET 6. Si comenzó a usar pruebas NUnit con .NET Framework, puede traer el mismas herramientas de prueba para las nuevas versiones basadas en .NET Core, lo que garantiza que sus pruebas puedan migrar a las versiones actuales de .NET junto con su código.

Primeros pasos con NUnit

NUnit es sencillo. Al igual que muchas herramientas de .NET, los paquetes que necesita para ejecutar el marco de prueba se instalan desde NuGet o se pueden descargar como un instalador de Windows. Primero, instale los paquetes NUnit y NUnit.Console en su solución. El primero debe ser referenciado desde su código de prueba pero no desde su aplicación. Si desea un repositorio central de NUnit para usar en varias soluciones, descargue e instale el archivo zip y agréguelo a su ruta. Luego puede hacer referencia a la misma DLL de NUnit de todas sus pruebas, sin importar qué aplicación estén probando.

Construir su primera prueba es relativamente simple. Una vez que haya agregado referencias a NUnit a su solución de Visual Studio, puede comenzar a construir pruebas en un proyecto de prueba. Entonces, si su código está en un proyecto llamado AppCode, creará un proyecto paralelo para sus pruebas en la misma solución, digamos AppCode.NUnit. Esto debe usarse para reflejar los métodos y clases de su código con las pruebas apropiadas.

En su proyecto, instale la última versión de NUnit de NuGet. Cree un archivo para su prueba y agregue una referencia a NUnit.Framework, listo para escribir sus pruebas. Hay compatibilidad con la mayoría de los lenguajes .NET, por lo que puede trabajar con C#, F#, Visual Basic.NET o C++ administrado. Es una buena idea usar el mismo lenguaje para las pruebas y el código para asegurarse de que está llamando a los métodos correctamente.

Existe cierto debate sobre las mejores prácticas para nombrar clases y métodos de prueba. Puede usar un prefijo o posfijo de prueba para el nombre de clase o método en su prueba, o tal vez darles los mismos nombres que en su aplicación. Tiendo a preferir el último enfoque, ya que lo ayuda a asegurarse de tener el nivel correcto de cobertura de código en sus pruebas y puede ver rápidamente qué partes de una aplicación no se están llamando desde una prueba.

Diseño y ejecución de pruebas.

Gran parte del trabajo con NUnit consiste en configurar los atributos y parámetros apropiados para administrar y ejecutar pruebas. Estos marcan clases y métodos en sus pruebas, por ejemplo, marcando clases como TestFixture y métodos como Test.

Una prueba llama a un método en su aplicación con un valor predefinido o un conjunto de valores. Esto se usa para validar la respuesta, que usa una aserción para comparar la respuesta del método con el valor esperado. En algunos casos, será necesario calcular este valor. Por ejemplo, si está utilizando un método para entregar una respuesta basada en datos externos, su prueba necesitará los mismos datos para calcular un valor esperado. Hay muchas cosas que puede hacer para crear pruebas adecuadas para su código. NUnit utiliza un modelo basado en restricciones para procesar aserciones , que resulta ser muy flexible y se adapta bien a diferentes métodos y sus entradas y salidas.

Una vez escrito, es necesario ejecutar las pruebas. Esto se puede hacer desde la consola NUnit o desde el adaptador NUnit de Visual Studio . Esta última opción es probablemente la mejor opción para ejecutar muchas pruebas como parte de la escritura de código. Al ejecutar pruebas dentro de su IDE, puede asegurarse de que los cambios en el código no rompan las aplicaciones. Si planea usar NUnit como parte de un proceso de CI/CD para automatizar las pruebas antes de aprobar las solicitudes de extracción o como parte de una compilación, use la CLI de .NET para ejecutar sus pruebas.

NUnit ha sido una de las herramientas de prueba de unidades .NET más populares durante mucho tiempo. Su enfoque basado en restricciones y parámetros para el diseño y desarrollo de pruebas le brinda una forma flexible de crear pruebas y administrarlas junto con las clases y los métodos de su código. Como las pruebas deben construirse antes que el código, puede usar sus procesos de diseño y captura de requisitos para construir un primer paso en un conjunto de pruebas unitarias, usándolas para definir sus métodos y API.

El desarrollo de prueba primero agrega disciplina a su ciclo de vida de desarrollo de software, disciplina que es esencial para un proceso de desarrollo ágil exitoso. Sus pruebas son un contrato con su código que le permite asegurarse de que cumple con los requisitos a medida que lo construye y agrega funcionalidad. Se pueden agregar nuevas funciones de prueba y, dado que las pruebas son código, se almacenan en sus repositorios junto con la aplicación. Las pruebas bien diseñadas quizás se consideren mejor como parte de la documentación de su código, lo que permite a los futuros desarrolladores comprender rápidamente la intención de su código y realizar las actualizaciones, correcciones y puertos necesarios.

 

Fuente: infoworld | somoslibres

¿Quién está en línea?

Hay 44126 invitados y ningún miembro en línea