Skip to content

8. Anhänge

8.1. Wo findet man Spring?

Die Hauptwebsite von Spring ist [http://www.springframework.org/]. Dies ist die Website der Java-Version. Die derzeit in Entwicklung befindliche Version .NET (Stand: April 2005) ist unter der URL [http://www.springframework.net/] zu finden.

Image

Die Download-Seite befindet sich unter [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 systematisch zwei Dinge tun:

  • die oben genannten Dateien in den Ordner „[bin]“ des Projekts kopieren
  • dem Projekt eine Referenz zur Assembly [Spring.Core.dll] hinzufügen

8.2. Wo finde ich NUnit?

Die Hauptwebsite von Nunit lautet [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, in dem sich die grafische Testversion befindet:

Das Interessante befindet sich im Ordner [bin]:

Image

Image

Der Pfeil oben zeigt auf das grafische Test-Dienstprogramm. Die Installation hat außerdem neue Elemente zum Assembly-Repository von Visual Studio hinzugefügt, die wir uns nun ansehen werden.

Erstellen wir das folgende Visual Studio-Projekt:

Die getestete Klasse befindet sich in [Personne.vb]:

Image

Public Class Personne

     ' private Felder
    Private _nom As String
    Private _age As Integer

     ' Standardkonstruktor
    Public Sub New()
    End Sub

     ' Eigenschaften, die mit privaten Feldern verknüpft sind
    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

     ' Identitätszeichenfolge
    Public Overrides Function tostring() As String
        Return String.Format("[{0},{1}]", nom, age)
    End Function

     ' init-Methode
    Public Sub init()
        Console.WriteLine("init personne {0}", Me.ToString)
    End Sub

     ' close-Methode
    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

     ' getestetes Objekt
    Private personne1 As Personne

    <SetUp()> _
    Public Sub init()
         ' Es wird eine Instanz von „Person“ erstellt
        personne1 = New Personne
         ' Protokoll
        Console.WriteLine("setup test")
    End Sub

    <Test()> _
    Public Sub demo()
         ' Bildschirmprotokoll
        Console.WriteLine("début test")
         ' Person1 initialisieren
        With personne1
            .nom = "paul"
            .age = 10
        End With
         ' Tests
        Assert.AreEqual("paul", personne1.nom)
        Assert.AreEqual(10, personne1.age)
         ' Bildschirmprotokoll
        Console.WriteLine("fin test")
    End Sub

    <TearDown()> _
    Public Sub destroy()
         ' Nachverfolgung
        Console.WriteLine("teardown test")
    End Sub

End Class

Es sind mehrere Dinge zu beachten:

  • Die Methoden verfügen über Attribute wie <Setup()>, <TearDown()>, …
  • Damit diese Attribute erkannt werden, muss Folgendes gegeben sein:
    • das Projekt auf die Assembly [nunit.framework.dll] verweist
    • die Testklasse den Namespace [NUnit.Framework] importiert

Die Referenz wird durch einen Rechtsklick auf [References] im Projekt-Explorer hergestellt:

Image

Die Assembly „[nunit.framework.dll]“ sollte in der angezeigten Liste enthalten sein, wenn die Installation von „[Nunit]“ erfolgreich verlaufen ist. Doppelklicken Sie einfach auf die Assembly, um sie dem Projekt hinzuzufügen:

Image

Anschließend muss die Testklasse [NunitTestPersonne] den Namespace [NUnit.Framework] importieren:

Imports NUnit.Framework

Die Attribute der Testklasse [NunitTestPersonne] müssen dann erkannt werden.

  • Das Attribut <Test()> bezeichnet eine zu testende Methode
  • Das Attribut <Setup()> bezeichnet die Methode, die vor jeder getesteten Methode ausgeführt werden soll
  • Das Attribut <TearDown()> bezeichnet die Methode, die nach jeder getesteten Methode ausgeführt werden soll
  • Die Methode Assert.AreEqual ermöglicht es, die Gleichheit zweier entités.Il zu testen. Es gibt zahlreiche weitere Methoden vom Typ Assert.xx.
  • Das Dienstprogramm NUnit bricht die Ausführung einer getesteten Methode ab, sobald eine Methode vom Typ [Assert] fehlschlägt, und zeigt eine Fehlermeldung an. Andernfalls wird eine Erfolgsmeldung angezeigt.

Konfigurieren wir unser Projekt so, dass es eine DLL generiert:

Image

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

Image

Starten wir nun das grafische Testprogramm Nunit. Zur Erinnerung: Es befindet sich in <Nunit>\bin und heißt [nunit-gui.exe]. <Nunit> bezeichnet den Installationsordner von [Nunit]. Es erscheint folgende Benutzeroberfläche:

Image

Verwenden wir den Menüpunkt [File/Open], um die Dateien DLL und [nunit-demos-1.dll] aus unserem Projekt zu laden:

Image

[Nunit] kann die Testklassen, die sich in der geladenen DLL befinden, automatisch erkennen. Hier findet es die Klasse [NunitTestPersonne]. Anschließend zeigt es alle Methoden der Klasse an, die das Attribut <Test()> besitzen. Über die Schaltfläche [Run] können die Tests für das ausgewählte Objekt gestartet werden. Ist dies die Klasse [NunitTestPersonne], werden alle angezeigten Methoden getestet. Man kann den Test einer bestimmten Methode anfordern, indem man diese auswählt und ihre Ausführung über [Run] anfordert. Fordern wir die Ausführung der Klasse an:

Image

Ein erfolgreicher Test einer Methode wird durch einen grünen Punkt neben der Methode im linken Fenster symbolisiert. Ein fehlgeschlagener Test wird durch einen roten Punkt symbolisiert.

Das Fenster [Console.Out] auf der rechten Seite zeigt die von den getesteten Methoden erzeugten Bildschirmausgaben an. Hier wollten wir den Ablauf eines Tests verfolgen:

1
2
3
4
setup test
début test
fin test
teardown test
  • Zeile 1 zeigt, dass die Attributmethode <Setup()> vor dem Test ausgeführt wird
  • Die Zeilen 2–3 werden von der getesteten Methode [demo] erzeugt (siehe Code weiter oben)
  • Zeile 4 zeigt, dass die Attributmethode <TearDown()> nach dem Test ausgeführt wird