Unit Testing mit xUnit & VB.NET
Unit Tests prüfen einzelne Funktionseinheiten Ihres Programms. In VB.NET nutzen wir hierfür meist das xUnit-Framework, um sicherzustellen, dass jede Methode genau das tut, was sie soll.
1. Das AAA-Prinzip (Arrange, Act, Assert)
Ein strukturierter Test folgt immer dem AAA-Muster, um die Lesbarkeit zu erhöhen.
Imports Xunit
Public Class RechnerTests
<Fact>
Public Sub Add_ZweiZahlen_LiefertSumme()
' Arrange (Vorbereiten)
Dim rechner As New Taschenrechner()
' Act (Ausführen)
Dim ergebnis = rechner.Add(10, 5)
' Assert (Prüfen)
Assert.Equal(15, ergebnis)
End Sub
End Class
2. Test-Projekt organisieren
Tests werden in einem separaten Projekt abgelegt, damit der produktive Code sauber bleibt.
-
TheCat_Solution
-
TheCat_Logic (VB-Projekt)
- Taschenrechner.vb
-
TheCat_Tests (xUnit-Projekt)
- RechnerTests.vb
-
3. Fortgeschritten: Theory & InlineData
Mit Theory können Sie eine Testmethode mit verschiedenen Datensätzen mehrfach ausführen.
<Theory>
<InlineData(1, 1, 2)>
<InlineData(10, 20, 30)>
<InlineData(-5, 5, 0)>
Public Sub Add_MehrereWerte_BerechnetKorrekt(a As Integer, b As Integer, erwartet As Integer)
Dim rechner As New Taschenrechner()
Dim ergebnis = rechner.Add(a, b)
Assert.Equal(erwartet, ergebnis)
End Sub