8. Anhänge
8.1. Wo finde ich Spring?
Die Hauptwebsite von Spring ist [http://www.springframework.org/]. Dies ist die Seite für die Java-Version. Die .NET-Version, die sich derzeit in der Entwicklung befindet (April 2005), finden Sie unter [http://www.springframework.net/].

Die Download-Seite befindet sich auf [SourceForge]:

Sobald Sie die oben genannte ZIP-Datei heruntergeladen haben, entpacken Sie sie:

In diesem Dokument haben wir nur den Inhalt des Ordners [bin] verwendet:

In einem Visual Studio-Projekt, das Spring verwendet, müssen Sie immer zwei Dinge tun:
- die oben genannten Dateien im [bin]-Ordner des Projekts ablegen
- dem Projekt einen Verweis auf die Assembly [Spring.Core.dll] hinzufügen
8.2. Wo finden Sie NUnit?
Die offizielle NUnit-Website ist [http://www.nunit.org/]. Die im April 2005 verfügbare Version ist 2.2.0:

Laden Sie diese Version herunter und installieren Sie sie. Bei der Installation wird ein Ordner erstellt, der die grafische Testschnittstelle enthält:
Der interessante Teil befindet sich im Ordner [bin]:


Der Pfeil oben zeigt auf das grafische Testprogramm. Durch die Installation wurden außerdem neue Elemente zum Visual Studio-Assembly-Repository hinzugefügt, die wir uns nun ansehen werden.
Erstellen wir das folgende Visual Studio-Projekt:
Die zu testende Klasse befindet sich in [Person.vb]:

Public Class Personne
' private fields
Private _nom As String
Private _age As Integer
' default builder
Public Sub New()
End Sub
' properties associated with private fields
Public Property nom() As String
Get
Return _nom
End Get
Set(ByVal Value As String)
_nom = Value
End Set
End Property
Public Property age() As Integer
Get
Return _age
End Get
Set(ByVal Value As Integer)
_age = Value
End Set
End Property
' identity chain
Public Overrides Function tostring() As String
Return String.Format("[{0},{1}]", nom, age)
End Function
' init method
Public Sub init()
Console.WriteLine("init personne {0}", Me.ToString)
End Sub
' close method
Public Sub close()
Console.WriteLine("destroy personne {0}", Me.ToString)
End Sub
End Class
Die Testklasse befindet sich in [NunitTestPersonne-1.vb]:
Imports System
Imports NUnit.Framework
<TestFixture()> _
Public Class NunitTestPersonne
' object tested
Private personne1 As Personne
<SetUp()> _
Public Sub init()
' create an instance of Person
personne1 = New Personne
' log
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' log screen
Console.WriteLine("début test")
' init person1
With personne1
.nom = "paul"
.age = 10
End With
' tests
Assert.AreEqual("paul", personne1.nom)
Assert.AreEqual(10, personne1.age)
' log screen
Console.WriteLine("fin test")
End Sub
<TearDown()> _
Public Sub destroy()
' follow-up
Console.WriteLine("teardown test")
End Sub
End Class
Einige Dinge sind zu beachten:
- Methoden werden Attribute wie <Setup()>, <TearDown()> usw. zugewiesen
- Damit diese Attribute erkannt werden, muss Folgendes zutreffen:
- Das Projekt verweist auf die Assembly [nunit.framework.dll]
- Die Testklasse importiert den Namespace [NUnit.Framework]
Die Referenz wird hinzugefügt, indem man im Projektmappen-Explorer mit der rechten Maustaste auf [Referenzen] klickt:
![]() | ![]() |

Die Assembly [nunit.framework.dll] sollte in der Liste aufgeführt sein, wenn die Installation von [NUnit] erfolgreich war. Doppelklicken Sie einfach auf die Assembly, um sie dem Projekt hinzuzufügen:

Sobald dies erledigt ist, muss die Testklasse [NunitTestPersonne] den Namespace [NUnit.Framework] importieren:
Die Attribute der Testklasse [NunitTestPersonne] sollten dann erkannt werden.
- Das Attribut <Test()> kennzeichnet eine zu testende Methode
- Das Attribut <Setup()> bezeichnet die Methode, die vor jeder zu testenden Methode ausgeführt werden soll
- Das Attribut <TearDown()> bezeichnet die Methode, die nach jeder zu testenden Methode ausgeführt werden soll
- Mit der Methode Assert.AreEqual können Sie die Gleichheit zweier Entitäten testen. Es gibt viele weitere Methoden vom Typ Assert.xx.
- Das NUnit-Dienstprogramm stoppt die Ausführung einer getesteten Methode, sobald eine [Assert]-Methode fehlschlägt, und zeigt eine Fehlermeldung an. Andernfalls wird eine Erfolgsmeldung angezeigt.
Konfigurieren wir unser Projekt so, dass eine DLL generiert wird:

Die generierte DLL erhält den Namen [nunit-demos-1.dll] und wird standardmäßig im Ordner [bin] des Projekts abgelegt. Erstellen wir unser Projekt. Im Ordner [bin] finden wir Folgendes:

Starten wir nun das grafische Testprogramm von Nunit. Denken Sie daran, dass es sich in <Nunit>\bin befindet und den Namen [nunit-gui.exe] trägt. <Nunit> bezieht sich auf den Installationsordner [Nunit]. Wir erhalten die folgende Benutzeroberfläche:

Verwenden wir die Menüoption [Datei/Öffnen], um die DLL [nunit-demos-1.dll] aus unserem Projekt zu laden:

[Nunit] kann die in der geladenen DLL enthaltenen Testklassen automatisch erkennen. Hier findet es die Klasse [NunitTestPersonne]. Anschließend werden alle Methoden der Klasse angezeigt, die das Attribut <Test()> tragen. Mit der Schaltfläche [Ausführen] können Sie die Tests für das ausgewählte Objekt ausführen. Handelt es sich dabei um die Klasse [NunitTestPersonne], werden alle angezeigten Methoden getestet. Sie können eine bestimmte Methode testen, indem Sie sie auswählen und auf [Run] klicken. Lassen Sie uns die Klasse ausführen:

Ein erfolgreicher Test einer Methode wird durch einen grünen Punkt neben der Methode im linken Fenster angezeigt. Ein fehlgeschlagener Test wird durch einen roten Punkt angezeigt.
Das Fenster [Console.Out] auf der rechten Seite zeigt die Bildschirmausgabe der getesteten Methoden an. Hier wollten wir den Fortschritt eines Tests verfolgen:
- Zeile 1 zeigt, dass die Attributmethode <Setup()> vor dem Test ausgeführt wird
- Die Zeilen 2–3 werden von der zu testenden [demo]-Methode generiert (siehe den Code oben)
- Zeile 4 zeigt, dass die Attributmethode <TearDown()> nach dem Test ausgeführt wird

