Skip to content

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/].

Image

Die Download-Seite befindet sich auf [SourceForge]:

Image

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

Image

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

Image

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:

Image

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]:

Image

Image

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]:

Image

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:

Image

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:

Image

Sobald dies erledigt ist, muss die Testklasse [NunitTestPersonne] den Namespace [NUnit.Framework] importieren:

Imports NUnit.Framework

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:

Image

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:

Image

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:

Image

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

Image

[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:

Image

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:

1
2
3
4
setup test
test start
end of test
test teardown
  • 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