Ejercicio: Escribir una prueba

Completado

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.

  1. Inicie un proyecto de consola de .NET denominado LearnMyCalculatorApp.

  2. 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.

  1. 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.

  2. 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.

    Screenshot of the Add New Project dialog in Visual Studio, with MSTest Test Project selected.

  3. 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.

    Screenshot of the page for configuring a new project, with the new project name selected.

  4. Asegúrese de que la prueba tiene como destino el mismo marco que la aplicación que quiere probar.

    Screenshot in Visual Studio with two projects open side by side. Both projects reference the same target framework.

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.

  1. 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.

    Screenshot of Solution Explorer in Visual Studio, with the right-click menu of the dependencies node open and Add Project Reference selected.

  2. 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.

  1. 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);
    }
    
  2. 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.

  3. Agregue una instrucción Assert al final del método CalculatorNullTest que provoca un error en la prueba. Puede usar el ejemplo siguiente, que declara IsTrue en un booleano false.

    Assert.IsTrue(false); // Will fail the test
    
  4. Confirme que se produce un error en la prueba ejecutándola de nuevo.

    Screenshot of the editor window in Visual Studio, with Run Tests selected by right-clicking a test method.

¡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.