Most Complete NUnit Unit Testing Framework Cheat SheetMost Complete NUnit  Unit Testing Framework Cheat Sheet - Automate The Planet

¿Te gustaría aprender Frameworks .NET Empresariales?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

NUnit es un framework open source para pruebas unitarias de sistemas realizados con la plataforma Microsof.NET. Consiste en un conjunto de meta atributos y aserciones que permiten probar los métodos de una clase especificada. Fue desarrollado entero en C#, y pertenece a los llamados xUnit que son todos aquellos frameworks de pruebas heredados de JUnit y que por tanto, siguen las normas marcadas por el mismo.

Este artículo trata sobre la prueba de un proyecto .NET Core. Antes de iniciar el proyecto veamos los prerrequisitos que necesita tener en cuanto a instalaciones de programas.

Prerrequisitos

  • .NET Core 2.1 SDK o versiones posteriores.
  • Un editor de texto o un editor de código de su elección.

Creando el proyecto fuente

Abra una ventana de shell. Cree un directorio llamado unit-testing-using-nunit para contener la solución. Dentro de este nuevo directorio, ejecute el siguiente comando para crear un nuevo archivo de solución para la biblioteca de clases y el proyecto de prueba:CLI de .NET CoreDupdo

dotnet new sln

A continuación, cree un directorio PrimeService . El siguiente esquema muestra el directorio y la estructura de archivos hasta ahora:ConsolaDupdo

/unit-testing-using-nunit
    unit-testing-using-nunit.sln
    /PrimeService

Convierta PrimeService en el directorio actual y ejecute el siguiente comando para crear el proyecto de origen:CLI de .NET CoreDupdo

dotnet new classlib

Cambie el nombre de Class1.cs a PrimeService.cs . Creas una implementación fallida de la PrimeServiceclase:C#Dupdo

using System;

namespace Prime.Services
{
    public class PrimeService
    {
        public bool IsPrime(int candidate)
        {
            throw new NotImplementedException("Please create a test first.");
        }
    }
}

Vuelva a cambiar el directorio al directorio unit-testing-using-nunit . Ejecute el siguiente comando para agregar el proyecto de biblioteca de clases a la solución:CLI de .NET CoreDupdo

dotnet sln add PrimeService/PrimeService.csproj
Pin on Programming

Creando el proyecto de prueba

A continuación, cree el directorio PrimeService.Tests . El siguiente esquema muestra la estructura del directorio:ConsolaDupdo

/unit-testing-using-nunit
    unit-testing-using-nunit.sln
    /PrimeService
        Source Files
        PrimeService.csproj
    /PrimeService.Tests

Convierta el directorio PrimeService.Tests en el directorio actual y cree un nuevo proyecto usando el siguiente comando:CLI de .NET CoreDupdo

dotnet new nunit

El comando dotnet new crea un proyecto de prueba que usa NUnit como biblioteca de prueba. La plantilla generada configura el corredor de prueba en el archivo PrimeService.Tests.csproj :XMLDupdo

<ItemGroup>
  <PackageReference Include="nunit" Version="3.13.1" />
  <PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
</ItemGroup>

El proyecto de prueba requiere otros paquetes para crear y ejecutar pruebas unitarias. dotnet newen el paso anterior se agregó el SDK de prueba de Microsoft, el marco de prueba NUnit y el adaptador de prueba NUnit. Ahora, agregue la PrimeServicebiblioteca de clases como otra dependencia al proyecto. Usa el dotnet add referencecomando:CLI de .NET CoreDupdo

dotnet add reference ../PrimeService/PrimeService.csproj

El siguiente esquema muestra el diseño de la solución final:ConsolaDupdo

/unit-testing-using-nunit
    unit-testing-using-nunit.sln
    /PrimeService
        Source Files
        PrimeService.csproj
    /PrimeService.Tests
        Test Source Files
        PrimeService.Tests.csproj

Ejecute el siguiente comando en el directorio unit-testing-using-nunit :CLI de .NET CoreDupdo

dotnet sln add ./PrimeService.Tests/PrimeService.Tests.csproj
Qué es NUnit?)

Creando la primera prueba

Escribe una prueba fallida, la aprueba y luego repite el proceso. En el directorio PrimeService.Tests , cambie el nombre del archivo UnitTest1.cs a PrimeService_IsPrimeShould.cs y reemplace todo su contenido con el siguiente código:C#Dupdo

using NUnit.Framework;
using Prime.Services;

namespace Prime.UnitTests.Services
{
    [TestFixture]
    public class PrimeService_IsPrimeShould
    {
        private PrimeService _primeService;

        [SetUp]
        public void SetUp()
        {
            _primeService = new PrimeService();
        }

        [Test]
        public void IsPrime_InputIs1_ReturnFalse()
        {
            var result = _primeService.IsPrime(1);

            Assert.IsFalse(result, "1 should not be prime");
        }
    }
}

El [TestFixture]atributo denota una clase que contiene pruebas unitarias. El [Test]atributo indica que un método es un método de prueba.

Guarde este archivo y ejecútelo dotnet testpara crear las pruebas y la biblioteca de clases y luego ejecute las pruebas. El corredor de pruebas NUnit contiene el punto de entrada del programa para ejecutar sus pruebas. dotnet testinicia el corredor de prueba utilizando el proyecto de prueba unitaria que ha creado.

Tu prueba falla. Aún no ha creado la implementación. Haga que esta prueba pase escribiendo el código más simple de la PrimeServiceclase que funcione:C#Dupdo

public bool IsPrime(int candidate)
{
    if (candidate == 1)
    {
        return false;
    }
    throw new NotImplementedException("Please create a test first.");
}

En el directorio unit-testing-using-nunit , dotnet testvuelva a ejecutar . El dotnet testcomando ejecuta una compilación para el PrimeServiceproyecto y luego para el PrimeService.Testsproyecto. Después de construir ambos proyectos, ejecuta esta única prueba. Pasó.

Master .NET and C# Unit Testing with NUnit and Moq Free Download Udemy  Course - CoursesHunter

Añadiendo más funciones

Ahora que ha pasado una prueba, es hora de escribir más. Hay algunos otros casos simples para números primos: 0, -1. Puede agregar nuevas pruebas con el [Test]atributo, pero eso rápidamente se vuelve tedioso. Hay otros atributos de NUnit que le permiten escribir un conjunto de pruebas similares. Un [TestCase]atributo se usa para crear un conjunto de pruebas que ejecutan el mismo código pero tienen diferentes argumentos de entrada. Puede utilizar el [TestCase]atributo para especificar valores para esas entradas.

En lugar de crear nuevas pruebas, aplique este atributo para crear una única prueba basada en datos. La prueba basada en datos es un método que prueba varios valores menores que dos, que es el número primo más bajo:C#Dupdo

[TestCase(-1)]
[TestCase(0)]
[TestCase(1)]
public void IsPrime_ValuesLessThan2_ReturnFalse(int value)
{
    var result = _primeService.IsPrime(value);

    Assert.IsFalse(result, $"{value} should not be prime");
}

Ejecutar dotnet testy dos de estas pruebas fallan. Para que todas las pruebas pasen, cambie la ifcláusula al principio del Mainmétodo en el archivo PrimeService.cs :C#Dupdo

if (candidate < 2)

Continúe iterando agregando más pruebas, más teorías y más código en la biblioteca principal. Tienes la versión terminada de las pruebas y la implementación completa de la biblioteca .

Ha creado una pequeña biblioteca y un conjunto de pruebas unitarias para esa biblioteca. Ha estructurado la solución para que agregar nuevos paquetes y pruebas sea parte del flujo de trabajo normal. Ha concentrado la mayor parte de su tiempo y esfuerzo en resolver los objetivos de la aplicación.

Te esperamos en los siguientes artículos en donde hablaremos más acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.

¿Te gustaría aprender Frameworks .NET Empresariales?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?