C# Test Driven Development

C# Test Driven Development

C# Test Driven development ist ein Ansatz in der Softwareentwicklung, bei dem zuerst Tests geschrieben werden, bevor der eigentliche Code geschrieben wird. Dieser Ansatz soll sicherstellen, dass der Code so entwickelt wird, wie es die Tests vorgeben.

Ein Test ist in der Regel eine Funktion, die eine bestimmte Eingabe hat und eine bestimmte Ausgabe liefert. Der Code wird so geschrieben, dass er die richtige Ausgabe für die gegebene Eingabe liefert.

Wenn der Code die Tests besteht, ist er in der Regel fertig. Wenn nicht, muss er so geändert werden, bis er die Tests besteht.

Viele Entwickler schwören auf diesen Ansatz, weil er sicherstellt, dass der Code funktioniert und weil er die Entwicklung schneller macht.

C# TDD Beispiel

Es gibt viele Test-Frameworks für C#. Alle verwenden in etwa den gleichen Ansatz. In diesem Beispiel verwenden wir das Testing-Framework NUnit.

using System;
using NUnit.Framework;

namespace TestDrivenDevelopment
{
   [TestFixture]
   public class Tests
   {
      [Test]
      public void Test1()
      {
         int a = 1;
         int b = 2;
         int c = a + b;

         Assert.AreEqual(3, c);
      }
  }
}

Der obige Code enthält einen Test, der überprüft, ob die Summe zweier Zahlen korrekt berechnet wird. Der Test hat zwei Zahlen (a und b) und überprüft, ob die Summe der beiden Zahlen (c) korrekt ist.

In diesem Fall sollte c gleich 3 sein. Wenn der Test erfolgreich ist, hat der Code die Tests bestanden. Wenn nicht, muss der Code so geändert werden, bis der Test erfolgreich ist.

Die Methode Assert.AreEqual überprüft, ob zwei Werte gleich sind. Wenn die beiden Werte gleich sind, ist der Test erfolgreich. Wenn nicht, ist der Test nicht erfolgreich.

Attribute von NUnit für C# Test Driven Development

[TestFixture] ist ein Attribut, das eine Klasse als Testklasse kennzeichnet. In einer Testklasse können mehrere Tests enthalten sein.

[Test] ist ein Attribut, das eine Methode als Test kennzeichnet. In einer Testklasse kann es mehrere Tests geben, die mit dem [Test] Attribut gekennzeichnet sind.

Weitere Methoden zum Testen

Assert.IsEqual – überprüft, ob ein Wert einem anderen gleicht

Assert.IsTrue – überprüft, ob ein Wert true ist

Assert.IsFalse – überprüft, ob ein Wert false ist

Assert.Null – überprüft, ob ein Wert null ist

Assert.NotNull – überprüft, ob ein Wert nicht null ist

Assert.Fail – markiert den Test als fehlgeschlagen

C# Test Driven Development – Test ausführen

Um einen Test in Visual Studio auszuführen, muss man zuerst die Test-Explorer öffnen. Dies kann über das Menü “Test”->”Windows”->”Test Explorer” erreicht werden. In dem Test Explorer können alle vorhandenen Tests angezeigt und ausgeführt werden.

Hier kannst du noch mehr über C# TDD erfahren.

✅ Einfach zum abhaken und tracken ✅ Die 30 wichtigsten Punkte zum Profi .NET Entwickler ✅ Überprüfe deinen Wissenstand und identifiziere Lücken
Checkliste: .NET Profi werden
Frisch aktualisiert für 2024 und 2025
Bereits über 50x aktualisiert und überarbeitet.
Overlay Image
Checkliste: .NET Profi werden
Frisch aktualisiert für 2024
✅ Einfach zum abhaken ✅ Die 30 wichtigsten Punkte zum Profi .NET Entwickler ✅ Überprüfe deinen Wissenstand und identifiziere Lücken
Bereits über 50x aktualisiert und überarbeitet.
Overlay Image