Ejercicio: Escribir una prueba
Vamos a poner en uso ese conocimiento de creación de pruebas. Imagine que está desarrollando la aplicación de calculadora mencionada al principio de este módulo. Como parte del desarrollo, ahora debe configurar el proyecto de prueba y escribir la primera prueba.
En este ejercicio, escribirá una prueba en algunos pasos básicos.
Configuración del código de producto que se va a probar
El código del producto es una aplicación de calculadora, por lo que admite suma, resta, multiplicación y división. Creará el programa como una aplicación de consola.
Inicie un proyecto de consola de .NET denominado LearnMyCalculatorApp.
Agregue un nuevo archivo Calculator.cs mediante el código siguiente.
namespace LearnMyCalculatorApp { public class Calculator { public int Add(int x, int y) { return x + y; } public int Subtract(int x, int y) { return x - y; } public int Multiply(int x, int y) { return x * y; } public int Divide(int x, int y) { return x / y; } } }
Puede dejar el archivo Program.cs sin cambios para este pequeño ejemplo.
Crear un proyecto de prueba
Como se mencionó en la unidad anterior, la manera más fácil de agregar un proyecto de prueba para probar un método específico en el código es hacer clic con el botón derecho en ese método y seleccionar Crear pruebas unitarias. Sin embargo, para este ejercicio, vamos a configurar manualmente proyectos de prueba para comprender mejor la relación entre las pruebas y el código que se está probando.
Haga clic con el botón derecho en la solución y seleccione Agregar proyecto para agregar una plantilla de proyecto de prueba y abra el Explorador de soluciones.
Seleccione una plantilla de proyecto MSTest en el cuadro de diálogo Agregar un nuevo proyecto. Hay varios marcos de prueba populares en .NET. MSTest es la opción integrada para .NET que genera el equipo de .NET.
Asigne al proyecto de prueba un nombre. Las bases de código usan muchas convenciones de nomenclatura para indicar cómo se organiza el conjunto de pruebas. Normalmente, puede encontrar nombres similares a
<MyAppProjectName>.Tests
para los proyectos de prueba.Asegúrese de que la prueba tiene como destino el mismo marco que la aplicación que quiere probar.
Agregar una referencia al código de producto desde el proyecto de prueba
Ahora que tiene un proyecto de prueba, debe hacer referencia al código que desea probar. Con una referencia, puede realizar llamadas a la aplicación desde dentro de las pruebas.
Haga clic con el botón secundario en el proyecto de prueba en el Explorador de soluciones y seleccione Agregar referencia de proyecto. Seleccione el proyecto que desea probar. En este caso, seleccione el proyecto de consola que creó que contiene Calculator.cs.
Agregue una instrucción import en la parte superior de sus archivos de prueba de C# para que se resuelvan las referencias a cualquier tipo en los espacios de nombres del código de producto.
using Microsoft.VisualStudio.TestTools.UnitTesting; using LearnMyCalculatorApp;
Agregar instrucción Assert
Ahora vamos a agregar una instrucción Assert para indicar al ejecutor de pruebas en qué condiciones la prueba debe realizarse correctamente. Las plantillas incluyen una prueba escrita previamente. Vamos a agregar una prueba para comprobar que el tipo de calculadora no es NULL después de la inicialización.
Agregue una instrucción Assert
Assert.IsNotNull()
, al final del método, para comprobar si un tipo en el código de producto es NULL.[TestMethod] public void CalculatorNullTest() { var calculator = new Calculator(); Assert.IsNotNull(calculator); }
Ejecute la prueba haciendo clic con el botón derecho y seleccione Ejecutar pruebas. La prueba debe superarse porque la variable
calculator
no es NULL.Agregue una instrucción Assert al final del método
CalculatorNullTest
que provoca un error en la prueba. Puede usar el ejemplo siguiente, que declaraIsTrue
en un booleano false.Assert.IsTrue(false); // Will fail the test
Confirme que se produce un error en la prueba ejecutándola de nuevo.
¡Enhorabuena! Ha conseguido crear y ejecutar correctamente una prueba en el código del producto. Está en una excelente posición para seguir agregando pruebas y crear un producto confiable.