Démarrer avec nunit

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 ce n’est pas le cas, vous devez peut-être commencer par 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 virtuelle publique Equals destinée à vérifier si un objet donné est égal à l’objet actuel. Par conséquent, appeler cette méthode equals serait une erreur, car dans un test unitaire, vous compareriez plutôt deux objets qui n’ont rien à voir avec la classe Assert. En conséquence, Nunit et MSTest ont tous deux choisi de fournir une méthode Assert.AreEqual à cette fin.

De plus, pour s’assurer que vous n’utilisez pas la méthode Equals par erreur, ils ont décidé de lancer des exceptions pour vous avertir si vous l’utilisez par erreur.

Mise en œuvre de 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");
    }

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 réussi][1]][1]

[1] : http://i.stack.imgur.com/6S8qc.png

Installation à l’aide de NuGet

Install-Package NUnit

Ce package comprend tous les assemblages nécessaires pour créer des tests unitaires.

Les tests peuvent être exécutés à l’aide de l’une des méthodes suivantes :

  • Fenêtre de test unitaire de Visual Studio
  • Coureur de console
  • Coureur tiers qui prend en charge NUnit 3

Fenêtre de test unitaire de Visual Studio

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

Coureur de console

Installez l’exécuteur de console NUnit via NuGet

Install-Package NUnit.Console

L’exécutable nunit3-console.exe se trouve dans packages\NUnit.3.X.X\tools

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 Hello World][1]][1]

[1] : http://i.stack.imgur.com/jGqEr.png