nunitCommencer avec nunit


Remarques

Cette section fournit une vue d'ensemble de ce qu'est une unité et pourquoi un développeur peut vouloir l'utiliser.

Il convient également de mentionner tous les sujets importants dans la police et d'établir un lien avec les sujets connexes. La documentation de nunit étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.

Versions

Version Date de sortie
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 (version 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 (bêta 1) 2015-03-25
3.0 RC1 2015-11-01
3.0.0 Version 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

Bonjour le monde

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

Test du Hello World

Installation à l'aide de NuGet

Install-Package NUnit
 

Ce package comprend tous les assemblages nécessaires à la création de tests unitaires.

Les tests peuvent être exécutés en utilisant l'une des méthodes suivantes:

  • Fenêtre de test de l'unité Visual Studio
  • Coureur de console
  • Un tiers qui prend en charge NUnit 3

Fenêtre de test de l'unité Visual Studio

Pour exécuter des tests à l'aide de la fenêtre de test de l'unité Visual Studio, installez l'adaptateur de test NUnit 3. https://visualstudiogallery.msdn.microsoft.com/0da0f6bd-9bb6-4ae3-87a8-537788622f2d

Console Runner

Installez le programme d'exécution de la console NUnit via NuGet

Install-Package NUnit.Console
 

L'exécutable nunit3-console.exe se trouve dans packages \ 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 passé

Pourquoi vous ne pouvez pas utiliser Assert.Equals

Vous êtes-vous déjà demandé pourquoi vous ne pouvez pas utiliser Assert.Equals () pour Nunit et MSTest. Si vous ne l'avez pas encore peut-être, vous devez savoir que vous ne pouvez pas utiliser cette méthode. Au lieu de cela, vous utiliseriez Assert.AreEqual () pour comparer deux objets pour l'égalité.

La raison ici est très simple. Comme toute classe, la classe Assert hérite de System.Object qui a une méthode publique virtuelle Equals destinée à vérifier si un objet donné est égal à l'objet actuel. Par conséquent, appeler cette méthode égale serait une erreur, car dans un test unitaire, vous devriez comparer deux objets qui n'ont rien à voir avec la classe Assert. Nunit et MSTest ont donc choisi de fournir une méthode Assert.AreEqual à cette fin.

De plus, pour vous assurer de ne pas utiliser la méthode Equals par erreur, vous avez décidé de lancer des exceptions pour vous avertir si vous les utilisez par erreur.

Implémentation 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");
    }