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

nunitIniziare con nunit


Osservazioni

Questa sezione fornisce una panoramica di ciò che nunit è, e perché uno sviluppatore potrebbe voler usarlo.

Dovrebbe anche menzionare tutti i soggetti di grandi dimensioni all'interno di nunit e collegarsi agli argomenti correlati. Poiché la documentazione di nunit è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Versioni

Versione Data di rilascio
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 (versione finale) 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 (Alpha 1) 2014/09/22
3.0 (Beta 1) 2015/03/25
3.0 RC1 2015/11/01
3.0.0 Release finale 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

Ciao mondo

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

Ciao test del mondo

Installazione con NuGet

Install-Package NUnit
 

Questo pacchetto include tutti gli assembly necessari per creare test unitari.

I test possono essere eseguiti utilizzando uno dei seguenti metodi:

  • Finestra di test dell'unità Visual Studio
  • Console runner
  • Corridore di terze parti che supporta NUnit 3

Finestra di test dell'unità Visual Studio

Per eseguire test utilizzando la finestra di test dell'unità Visual Studio, installare l'adattatore di test NUnit 3. https://visualstudiogallery.msdn.microsoft.com/0da0f6bd-9bb6-4ae3-87a8-537788622f2d

Console Runner

Installa il NUnit Console Runner via NuGet

Install-Package NUnit.Console
 

L'eseguibile nunit3-console.exe si trova nei pacchetti \ 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 passato

Perché non puoi usare Assert.Equals

Vi siete mai chiesti perché non potete usare Assert.Equals () per Nunit e MSTest. Se non lo hai ancora, forse come inizio devi essere consapevole che non puoi usare questo metodo. Invece dovresti usare Assert.AreEqual () per confrontare due oggetti per l'uguaglianza.

La ragione qui è molto semplice. Come qualsiasi classe, la classe Assert eredita da System.Object che ha un metodo Equals virtuale pubblico che serve a verificare se un dato oggetto è uguale all'oggetto corrente. Perciò chiamare questo metodo equivale a un errore, poiché in un test di unità si dovrebbe invece confrontare due oggetti che non hanno nulla a che fare con la classe Assert. Di conseguenza, Nunit e MSTest hanno scelto entrambi di fornire un metodo Assert.AreEqual per questo scopo.

Inoltre, per assicurarsi di non utilizzare il metodo Equals per errore, hanno deciso di lanciare Eccezioni per avvertirti se lo usi per errore.

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