Looking for nunit Answers? Try Ask4KnowledgeBase
Looking for nunit Keywords? Try Ask4Keywords

nunitEmpezando con nunit


Observaciones

Esta sección proporciona una descripción general de qué es nunit y por qué un desarrollador puede querer usarlo.

También debe mencionar cualquier tema grande dentro de nunit, y vincular a los temas relacionados. Dado que la Documentación para nunit es nueva, es posible que deba crear versiones iniciales de los temas relacionados.

Versiones

Versión Fecha de lanzamiento
2.2 2004-08-08
2.2.1 2004-10-26
2.2.2 2004-12-07
2.2.3 2005-02-14
2.2.4 2005-12-14
2.2.5 2005-12-22
2.2.6 2006-01-21
2.2.7 2006-02-18
2.2.8 2006-04-21
2.2.9 2006-11-26
2.2.10 2007-03-15
2.4 RC1 2007-02-25
2.4 (Versión final) 2007-03-16
2.4.1 2007-05-03
2.4.2 2007-08-02
2.4.4 2007-10-20
2.4.5 2007-11-23
2.4.6 2007-12-31
2.4.7 30/03/2008
2.4.8 2008-07-21
2.5 2009-05-02
2.5.1 2009-07-08
2.5.2 2009-08-10
2.5.3 2009-12-11
2.5.4 2010-04-08
2.5.5 2010-04-22
2.5.6 2010-07-24
2.5.7 2010-08-01
2.5.8 2010-10-14
2.5.9 2010-12-14
2.5.10 2011-04-02
2.6 2012-02-20
2.6.1 2012-08-04
2.6.2 2012-10-22
2.6.3 2013-10-10
2.6.4 2014-12-16
3.0 (alfa 1) 2014-09-22
3.0 (Beta 1) 2015-03-25
3.0 RC1 2015-11-01
3.0.0 Final Release 2015-11-15
3.0.1 2015-12-01
3.2 2016-03-05
3.2.1 2016-04-19
3.4 2016-06-25

Hola Mundo

[TestFixture]
public class UnitTest1
{
    class Message
    {
        public string Text { get; } = "Hello World";
    }

    [Test]
    public void HelloWorldTest()
    {
        // Act
        var message = new Message();

        // Assert
        Assert.That(message.Text, Is.EqualTo("Hello World"));
    }
}
 

Hola prueba mundial

Instalación utilizando NuGet

Install-Package NUnit
 

Este paquete incluye todos los ensamblajes necesarios para crear pruebas unitarias.

Las pruebas pueden ejecutarse usando uno de los siguientes métodos:

  • Visual Studio Unit Test Window
  • Corredor de la consola
  • Corredor de terceros que soporta NUnit 3

Visual Studio Unit Test Window

Para ejecutar pruebas utilizando la ventana de prueba de unidad de Visual Studio, instale el adaptador de prueba NUnit 3. https://visualstudiogallery.msdn.microsoft.com/0da0f6bd-9bb6-4ae3-87a8-537788622f2d

Consola de la consola

Instale el NUNIT Console Runner a través de NuGet

Install-Package NUnit.Console
 

El ejecutable nunit3-console.exe se encuentra en los paquetes \ NUnit.3.XX \ tools

TestCaseAttribute

[TestCase(0, 0, 0)]
[TestCase(34, 25, 59)]
[TestCase(-1250, 10000, 8750)]
public void AddNumbersTest(int a, int b, int expected)
{
    // Act
    int result = a + b;
            
    // Assert
    Assert.That(result, Is.EqualTo(expected));
}
 

AddNumbersTest pasado

Por qué no puedes usar Assert.Equals

Alguna vez te has preguntado por qué no puedes usar Assert.Equals () tanto para Nunit como para MSTest. Si no es así, tal vez, como principio, debe tener en cuenta que no puede utilizar este método. En su lugar, utilizarías Assert.AreEqual () para comparar dos objetos en busca de igualdad.

La razón aquí es muy simple. Al igual que cualquier clase, la clase Assert está heredando de System.Object que tiene un método público virtual Equals destinado a verificar si un objeto dado es igual al objeto actual. Por lo tanto, llamar a ese método igual sería un error, como en una prueba de unidad, en lugar de eso, compararía dos objetos que no tienen nada que ver con la clase Assert. Como resultado, Nunit y MSTest eligieron proporcionar un método Assert.AreEqual para ese propósito.

Además, para asegurarse de no utilizar el método Equals por error, han decidido lanzar Excepciones para advertirle si lo utiliza por error.

Implementación Nunit:

        [EditorBrowsable(EditorBrowsableState.Never)]
    public static new bool Equals(object a, object b)
    {
        // TODO: This should probably be InvalidOperationException
        throw new AssertionException("Assert.Equals should not be used for Assertions");
    }