Share via


Exemplarische Vorgehensweise: Erstellen und Ausführen eines Komponententests für intelligente Geräte

Aktualisiert: November 2007

In dieser exemplarischen Vorgehensweise wird das Erstellen, Ausführen und Anpassen verschiedener Tests mit Testtools in Team System für Geräteprojekte erläutert. Sie beginnen mit einer C#-Anwendung für intelligente Geräte, die noch in der Entwicklung ist. Sie erstellen dann ein Testprojekt, einen Komponententest, führen den Test aus und untersuchen die Ergebnisse.

Hinweis:

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

Im Verlauf dieser exemplarischen Vorgehensweise führen Sie folgende Aufgaben aus:

  • Öffnen Sie ein vorhandenes Projekt, und erstellen Sie eine Methode.

  • Erstellen Sie einen Komponententest und ein Gerätetestprojekt.

  • Lassen Sie die Testlaufkonfiguration anzeigen.

  • Führen Sie einen Komponententest aus.

  • Führen Sie einen Komponententest von einer Eingabeaufforderung aus.

Vorbereitungsmaßnahmen

Die Verfahren unter Exemplarische Vorgehensweise: Erstellen von Windows Forms-Anwendungen für ein Gerät müssen abgeschlossen sein, damit Sie mit dieser exemplarischen Vorgehensweise beginnen können. In der vorausgesetzten exemplarischen Vorgehensweise wird .NET Compact Framework 2.0 auf dem Pocket PC 2003-Emulator installiert. Dies ist eine Voraussetzung für diese Vorgehensweise. Lassen Sie entweder das Emulatorfenster geöffnet, oder speichern Sie den Zustand des Emulators. Weitere Informationen hierzu finden Sie unter Dateien mit gespeicherten Zuständen.

Öffnen eines vorhandenen Projekts und Erstellen einer Methode

So öffnen Sie das vorhandene Projekt und erstellen eine Methode

  1. Starten Sie Visual Studio.

  2. Zeigen Sie im Menü Datei auf Öffnen, und klicken Sie dann auf Projekt/Projektmappe.

    Das Dialogfeld Projekt öffnen wird angezeigt.

  3. Navigieren Sie zum DeviceSample-Projekt, das Sie in der exemplarischen Vorgehensweise erstellt haben, und klicken Sie dann auf OK.

    Das DeviceSample-Projekt wird im Projektmappen-Explorer angezeigt.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Form1.cs (C#) oder Form1.vb (Visual Basic), und klicken Sie dann auf Code anzeigen, um die Datei im Code-Editor zu öffnen.

  5. Positionieren Sie den Cursor in der Form1-Klasse.

  6. Fügen Sie folgenden Code ein:

    public int Add(int a, int b) {return a + b;}
    
    Public Function Add(ByVal a As Integer, ByVal b As Integer) As Integer 
        Return a + b
    End Function 'Add
    
  7. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Sie verfügen jetzt über ein Projekt mit dem Namen DeviceSample, das den zu testenden Quellcode enthält. Der Namespace für DeviceSample, DeviceSample, enthält die öffentliche Form1-Klasse, deren Methode Sie in den folgenden Verfahren testen werden.

Erstellen eines Komponententests und eines Gerätetestprojekts

So erstellen Sie einen Komponententest und ein Gerätetestprojekt

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Form1.cs (C#) oder Form1.vb (Visual Basic), und klicken Sie dann auf Code anzeigen, um die Datei im Code-Editor zu öffnen.

    Hinweis:

    Das Projekt DeviceSample enthält den zu testenden Code, der auch als Code unter Test (CUT) bezeichnet wird.

  2. Führen Sie in der Form1-Klasse einen Bildlauf zur Add-Methode aus.

  3. Klicken Sie mit der rechten Maustaste auf die Add-Methode, und wählen Sie Komponententests erstellen aus.

    Das Dialogfeld Komponententests erstellen wird angezeigt.

    Im Bereich Aktuelle Auswahl werden in einer Struktur die Klassen- und Memberhierarchie der Assembly angezeigt, die die Form1-Klasse enthält. Sie können auf dieser Seite Komponententests für eine beliebige Auswahl der angezeigten Member generieren und ein Testprojekt auswählen, in dem die generierten Komponententests platziert werden sollen.

    In der Struktur ist nur die Add-Methode ausgewählt. Behalten Sie die Auswahl bei.

  4. Klicken Sie unter Ausgabeprojekt auf Neues Visual C#-Testprojekt für intelligente Geräte erstellen.

    Hinweis:

    Die Sprache des Testprojekts muss nicht mit der Projektsprache übereinstimmen. Beispielsweise können Sie ein Visual C#-Testprojekt für intelligente Geräte für ein Visual Basic-Geräteprojekt erstellen.

  5. Klicken Sie auf Einstellungen.

    Das Dialogfeld Testgenerierungseinstellungen wird angezeigt. In der Gruppe Namenseinstellungen können Sie die Benennungsoptionen für das Generieren der Testdateien, Testklassen und Testmethoden anpassen. In der Gruppe Allgemein können Sie verschiedene weitere Aspekte der Testgenerierung ändern. Behalten Sie die Standardwerte für diese Einstellungen bei, und klicken Sie auf OK.

  6. Klicken Sie im Dialogfeld Komponententests erstellen auf OK.

    Das Dialogfeld Neues Testprojekt wird angezeigt.

  7. Übernehmen Sie den Standardnamen, und klicken Sie auf Erstellen.

    Dadurch wird Folgendes erstellt: das Projekt TestProject1, in dem der Komponententest enthalten ist, die Datei DeviceSample.vsmdi mit Informationen zu Testlisten und Tests sowie die Datei SmartDeviceTestRun.testrunConfig mit Informationen darüber, wo und wie der Test ausgeführt wird.

    Dem Testprojekt wird eine Datei mit dem Namen Form1Test.cs hinzugefügt, die eine Testklasse enthält.

    Hinweis:

    Jeder Testmethode wird automatisch das TestMethod()-Attribut zugewiesen. Jeder Test entspricht einer einzelnen zu testenden Methode im Code-unter-Test (CUT). Testmethoden befinden sich in einer Testklasse, der das TestClass()-Attribut zugewiesen wird.

  8. Geben Sie in Form1Test.cs Werte für die zu testenden Variablen an. Führen Sie einen Bildlauf zur AddTest-Methode durch, in die drei // TODO-Zeilen eingefügt wurden. Diese Zeilen geben die festzulegenden Variablen an, in diesem Fall a, b und expected.

  9. Geben Sie die folgenden Werte an:

    int a = 4;
    int b = 5;
    int expected = 9;
    

    Gibt an, dass der Rückgabewert 9 erwartet wird, wenn die Methode mit den Werten 4 und 5 aufgerufen wird.

  10. Kommentieren Sie die Assert-Anweisung aus.

    Assert.Inconclusive("Verify the correctness of this test method.");
    

    Diese verbleibende Assert-Anweisung vergleicht das erwartete Ergebnis (9) mit dem tatsächlichen Ergebnis des Aufrufs der Add-Methode in der Form1-Klasse. Wenn die beiden Werte ungleich sind, gibt Assert den Wert False zurück, und der Test schlägt fehl.

  11. Speichern Sie die Datei Form1Tests.cs.

    Sie haben eine Quellcodedatei erstellt, die Tests für das DeviceSample-Projekt enthält. Sie können nun damit beginnen, die Tests in der Form1Test-Klasse für den Code im DeviceSample-Projekt auszuführen.

Anzeigen der Testlaufkonfiguration

So lassen Sie die Testlaufkonfiguration anzeigen

  1. Doppelklicken Sie im Projektmappen-Explorer auf die Datei SmartDeviceTestRun.testrunConfig.

  2. Klicken Sie auf Hosts.

  3. Stellen Sie sicher, dass Host type auf Smart Device, Platform auf Pocket PC 2003 und Device auf Pocket PC 2003 SE Emulator festgelegt ist.

  4. Klicken Sie zum Beenden auf Schließen.

    Sie haben die Testlaufkonfiguration angezeigt, die den Kontext zum Ausführen von Tests angibt.

Ausführen eines Komponententests

So führen Sie einen Komponententest aus und nehmen Anpassungen vor

  1. Zeigen Sie im Menü Test auf Fenster, und klicken Sie dann auf Testansicht.

    Das Fenster Testansicht wird geöffnet.

  2. Klicken Sie mit der rechten Maustaste auf AddTest, und klicken Sie auf Auswahl ausführen.

    Visual Studio stellt den Test im Geräteemulator bereit und führt den Test aus. Falls das Fenster Testergebnisse noch nicht geöffnet ist, wird dies jetzt nachgeholt.

    Während der Ausführung wird im Fenster Testergebnisse in der Spalte Ergebnis der Teststatus Wird ausgeführt angezeigt. Nachdem der Testlauf beendet wurde, wird als Ergebnis für den Test Erfolgreich angezeigt.

    Hinweis:

    Wenn Sie Tests bereitstellen, wird das .NET Compact Framework oder SQL Server Compact 3.5 von Visual Studio nicht automatisch auf dem Zielgerät oder Emulator bereitgestellt und implementiert. Diese Anwendungen müssen auf dem Emulator oder Gerät installiert werden, bevor ein Test ausgeführt wird. Weitere Informationen finden Sie unter Gewusst wie: Installieren von .NET Compact Framework auf einem Gerät und Gewusst wie: Installieren von SQL Server Compact 3.5 auf einem Gerät.

  3. Doppelklicken Sie im Fenster Testergebnisse auf die Zeile für den betreffenden Test.

    Dadurch wird die Seite Testergebnisdetails geöffnet, auf der Informationen über die Testergebnisse angezeigt werden.

    Sie haben die generierte AddTest-Methode der Form1Test-Testklasse ausgeführt und die Ergebnisse anzeigen lassen.

Ausführen eines Komponententests von einer Eingabeaufforderung aus

So führen Sie einen Komponententest aus und nehmen Anpassungen vor

  1. Klicken Sie auf Start, zeigen Sie auf Alle Programme, auf Microsoft Visual Studio 2008 und auf Visual Studio-Tools, und klicken Sie anschließend auf Visual Studio 2008-Eingabeaufforderung.

    Die Eingabeaufforderung wird mit dem Ordner Laufwerk:\Programme\Microsoft Visual Studio 9.0\VC geöffnet.

  2. Wechseln Sie in den Ordner, der die aus dem Testprojekt erstellte Assembly enthält.

    Wechseln Sie hierzu zunächst in den Projektmappenordner. Für die Projektmappe DeviceSample, die zuvor in der exemplarischen Vorgehensweise erstellt wurde, ist dies der Ordner Laufwerk:\Users\Benutzername\Eigene Dateien\Visual Studio\Projects\DeviceSample. Wechseln Sie anschließend in den Ordner Ihres Testprojekts, indem Sie an der Eingabeaufforderung folgenden Befehl eingeben:

    cd TestProject1\bin\Debug

    Hinweis:

    Sie können auch MSTest.exe von einen beliebigen anderen Ordner ausführen, indem Sie vollständige Pfade angeben.

    Dieser Ordner enthält das Testprojekt, das Sie im Verfahren zum Erstellen und Ausführen von Tests erstellt haben. Die Testprojektassembly, TestProject1.dll, enthält eine kleine Anzahl von Komponententests.

    Hinweis:

    Das Produktionscodeprojekt und das Testprojekt generieren verschiedene Assemblys. Führen Sie das Befehlszeilenprogramm für die Assembly des Testprojekts, nicht für die Assembly mit dem Produktionscode Ihres Projekts aus.

  3. Verwenden Sie das Befehlszeilendienstprogramm, um die Anwendung zu testen.

    Geben Sie Folgendes an der Eingabeaufforderung ein:

    MSTest /testcontainer:TestProject1.dll /runconfig:..\..\..\SmartDevicetestrun.testrunconfig

    Hinweis:

    Wenn Sie Komponententests für intelligente Geräte ausführen, müssen Sie die /runconfig-Option angeben.

    Mit diesem Befehl werden alle Tests in der Assembly ausgeführt und Ergebnisse ähnlich dem folgenden Beispiel zurückgegeben:

    testproject1.dll wird geladen...

    Ausführung wird gestartet...

    Ergebnisse Tests der obersten Ebene

    ------- ---------------

    Erfolgreich TestProject1.Form1Test.AddTest

    1/1 Test(s) ausgeführt

    Zusammenfassung

    -------

    Testlauf/Testläufe abgeschlossen.

    Erfolgreich 1

    ---------

    Gesamt 1

    Ergebnisdatei: <Pfad>\<Testlaufname>.trx

    Testlaufkonfiguration: Standard-Testlaufkonfiguration

    Hinweis:

    Die bei der Ausführung von mstest.exe erstellte TRX-Datei kann in Visual Studio geöffnet werden, um die Testergebnisse genauer zu untersuchen. Weitere Informationen zu allen Optionen, die Sie mit dem MSTest-Befehl verwenden können, finden Sie unter Befehlszeilenoptionen für MSTest.exe.

    Das Befehlszeilendienstprogramm MSTest.exe ist insbesondere für die Automatisierung von Testläufen und für einen Aufruf in Batchdateien oder aus anderen Dienstprogrammen heraus geeignet.

Siehe auch

Konzepte

Komponententestframework

Weitere Ressourcen

Arbeiten mit Komponententests

Testtools für Projekte für intelligente Geräte