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

nunitKomma igång med nunit


Anmärkningar

Det här avsnittet ger en översikt över vad nunit är och varför en utvecklare kanske vill använda den.

Den bör också nämna alla stora ämnen inom nunit och koppla till de relaterade ämnena. Eftersom dokumentationen för nunit är ny kan du behöva skapa initialversioner av relaterade ämnen.

versioner

Version Utgivningsdatum
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 (slutlig utgåva) 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 2008-03-30
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 Slutlig utgåva 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

Hej världen

[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"));
    }
}
 

Hej världstest

Installation med NuGet

Install-Package NUnit
 

Detta paket innehåller alla enheter som behövs för att skapa enhetstester.

Tester kan utföras med någon av följande metoder:

  • Visual Studio Unit Test Window
  • Konsol löpare
  • Tredjeparts löpare som stöder NUnit 3

Visual Studio Unit Test Window

Installera NUnit 3 Test Adapter för att utföra test med Visual Studio Unit Test Window. https://visualstudiogallery.msdn.microsoft.com/0da0f6bd-9bb6-4ae3-87a8-537788622f2d

Console Runner

Installera NUnit Console Runner via NuGet

Install-Package NUnit.Console
 

Den körbara nunit3-console.exe finns i paket \ NUnit.3.XX \ verktyg

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 godkänd

Varför du inte kan använda Assert.Equals

Någonsin undrat varför du inte kan använda Assert.Equals () för både Nunit och MSTest. Om du inte har det, kanske som en början måste du vara medveten om att du inte kan använda den här metoden. Istället skulle du använda Assert.AreEqual () för att jämföra två objekt för jämlikhet.

Anledningen här är mycket enkel. Liksom alla klasser ärverar klassen från System.Object som har en offentlig virtuell jämlik metod som är avsedd att kontrollera om ett visst objekt är lika med det aktuella objektet. Därför skulle det vara ett misstag att kalla den lika metoden som i ett enhetstest skulle du istället jämföra två objekt som inte har något att göra med klassen Assert. Som ett resultat valde båda Nunit och MSTest att tillhandahålla en metod Assert.AreEqual för detta ändamål.

För att se till att du inte använder Equals-metoden av misstag har de beslutat att kasta undantag för att varna dig om du använder detta av misstag.

Nunit-implementering:

        [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");
    }