Freigeben über


Gewusst wie: Erfassen von Codeabdeckungsdaten

Aktualisiert: November 2007

Die Leistungsfähigkeit von Tests kann zeilenweise oder blockweise gemessen werden. Erstellen Sie dazu Testläufe, die Codeabdeckungsdaten ausgeben. Die erzeugten Daten werden im Fenster Codeabdeckungsergebnisse und in den Quellcodedateien angezeigt.

Codeabdeckungsdaten werden erfasst, wenn Artefakte (in der Regel Binärdateien) instrumentiert und während eines Testlaufs in den Arbeitsspeicher geladen wurden. Die Erfassung von Codeabdeckungsdaten-Prozedur beschreibt das Auswählen einer Datei für die Instrumentation.

Hinweis:

In der Standardeinstellung wird die Codeabdeckung während des Ausführens von Komponententests gemessen. Aus diesem Grund müssen Sie beim Ausführen von Komponententests die in Erfassung von Codeabdeckungsdaten beschriebenen Schritte nur dann ausführen, wenn die Codeabdeckung deaktiviert ist oder wenn Sie zusätzliche Artefakte instrumentieren möchten, um Codeabdeckungsdaten für sie zu erfassen.

Nach Abschluss des Testlaufs können die Codeabdeckungsdaten angezeigt werden. Weitere Informationen finden Sie unter Anzeigen von Codeabdeckungsdaten.

Es können auch mehrere Sätze von Codeabdeckungsdaten zusammengeführt werden, wie unter Gewusst wie: Zusammenführen von Codeabdeckungsdaten beschrieben. Weitere Informationen über das Zusammenführen von Codeabdeckungsdaten finden Sie unter Arbeiten mit zusammengeführten Codeabdeckungsdaten.

Instrumentierte Assemblys mit starken Namen müssen erneut signiert werden, wie unter Instrumentieren und erneutes Signieren von Assemblys erläutert. Das erneute Signieren wird durch Angabe einer Schlüsseldatei aktiviert. Weitere Informationen finden Sie unter Erneutes Signieren von Assemblys.

Zum Erfassen von Codeabdeckungsdaten für Artefakte müssen diese explizit instrumentiert werden, sofern keine Komponententests durchgeführt werden. Beispielsweise kann ein Tester, der einen manuellen Test ausführt, ein bestimmtes Programm starten. Wenn die Binärdateien des Programms instrumentiert sind, werden Codeabdeckungsdaten erfasst. Weitere Informationen finden Sie unter Übersicht über manuelle Tests.

Erfassen von Codeabdeckungsdaten

So erfassen Sie Codeabdeckungsdaten

  1. Erstellen Sie Tests für den Code. Dies können Komponententests oder andere Testtypen sein, die Code testen, für den Symbole zur Verfügung stehen, oder für den Sie geeignete Binärdateien zum Instrumentieren ausgewählt haben.

    Informationen zum Erstellen von Komponententests finden Sie unter Gewusst wie: Generieren eines Komponententests.

  2. Öffnen Sie die Testlaufkonfiguration für die Komponententests.

    Weitere Informationen hierzu finden Sie unter Gewusst wie: Angeben einer Testlaufkonfiguration.

  3. Klicken Sie auf Codeabdeckung.

  4. Wählen Sie unter Wählen Sie die zu instrumentierenden Artefakte aus die DLL, die ausführbare Datei oder das Verzeichnis der Projektmappe aus. Wenn der Name der Projektmappe beispielsweise ClassLibrary1 lautet, aktivieren Sie das Kontrollkästchen für die Assembly mit dem Namen ClassLibrary1.dll, die sich im Pfad <Projektmappenverzeichnis>\ClassLibrary1\bin\Debug befindet.

    Hinweis:

    Sie können auch die DLL auswählen, die die Testprojektdateien enthält. Dadurch werden Codeabdeckungsdaten nicht nur für die Methoden im Produktionscode, sondern auch für die Methoden im Testprojekt erstellt.

  5. Klicken Sie auf Übernehmen und anschließend auf Schließen.

  6. Führen Sie einen oder mehrere Tests aus.

    Weitere Informationen finden Sie unter Gewusst wie: Ausführen ausgewählter Tests.

    Die Codeabdeckungsdaten werden während der Testausführung erfasst. Informationen zum Anzeigen der Daten finden Sie unter Anzeigen von Codeabdeckungsdaten.

    Hinweis:

    Die Ausführung von VSPerfMon.exe kann mit der Erfassung von Codeabdeckungsdaten interagieren. Weitere Informationen finden Sie im Abschnitt "Codeabdeckungsdaten und VSPerfMon.exe" in Problembehandlung in der Test Edition.

    Für Anwendungen, die als 64-Bit-Prozess ausgeführt werden, können keine Codeabdeckungsdaten erfasst werden. Wenn bei einem Testlauf einer 64-Bit-Anwendung Codeabdeckungsdaten angefordert werden, wird vom Testmodul in der zu instrumentierenden Assembly das 32BIT-Flag im Header für die übertragbare ausführbare Datei festgelegt. Nach dem Testlauf wird die Assembly in ihren ursprünglichen Zustand zurückgesetzt.

Erneutes Signieren von Assemblys

So signieren Sie Assemblys erneut

  1. Öffnen Sie die Testlaufkonfiguration für die Komponententests.

    Weitere Informationen hierzu finden Sie unter Gewusst wie: Angeben einer Testlaufkonfiguration.

  2. Klicken Sie auf Codeabdeckung.

  3. Klicken Sie neben dem Textfeld Schlüsseldatei wird erneut signiert auf die Auslassungspunkte (...).

    Das Dialogfeld Schlüsseldatei auswählen wird angezeigt.

  4. Wählen Sie eine Schlüsseldatei aus, und klicken Sie dann auf Öffnen.

  5. Klicken Sie im Testlaufkonfigurations-Editor auf Übernehmen und dann auf Schließen.

    Wenn Sie mehrere signierte Assemblys testen, versucht Visual Studio, alle Assemblys mit starkem Namen mit der angegebenen Schlüsseldatei neu zu signieren. Weitere Informationen finden Sie unter "Erneutes Signieren von Assemblys" in Instrumentieren und erneutes Signieren von Assemblys.

Anzeigen von Codeabdeckungsdaten

Voraussetzung: Sie haben Tests ausgeführt, die Codeabdeckungsdaten ausgegeben haben, wie unter Erfassen von Codeabdeckungsdaten erläutert.

So zeigen Sie Codeabdeckungsdaten an

  1. Klicken Sie auf der Symbolleiste Testergebnisse auf Codeabdeckungsergebnisse. Sie können auch im Menü Test auf Fenster und anschließend auf Codeabdeckungsergebnisse klicken.

    Das Fenster Codeabdeckungsergebnisse wird geöffnet.

  2. Im Fenster Codeabdeckungsergebnisse wird in der Spalte Hierarchie ein Knoten angezeigt, der sämtliche im letzten Testlauf erfassten Codeabdeckungsdaten enthält. Wenn ein Fehler aufgetreten ist, wird hier anstelle des Stammknotens die Fehlermeldung angezeigt. Erweitern Sie den Knoten, wenn dieser angezeigt wird.

    Hinweis:

    Standardmäßig wird der Testlaufknoten im Format <Benutzername>@<Computername> <Datum> <Uhrzeit> angegeben. Dieses Schema für Standardnamen kann im Dialogfeld Optionen auf der Seite Allgemein geändert werden. Weitere Informationen finden Sie unter Gewusst wie: Angeben einer Testlaufkonfiguration.

  3. Erweitern Sie den Knoten für die Assembly, den Namespace und eine Klasse im Produktionscode.

    Die Zeilen innerhalb der Klasse stellen ihre Methoden dar. In den Spalten dieser Tabelle werden Abdeckungsstatistiken für einzelne Methoden, Klassen und den gesamten Namespace angezeigt.

  4. Doppelklicken Sie auf die Zeile für eine der Methoden in der Klasse.

    Die Quellcodedatei für die ausgewählte Methode wird geöffnet. Diese Datei wird mit Code-Hervorhebung angezeigt. Sie können die Abdeckung für die anderen Methoden in dieser Datei anzeigen, indem Sie einen Bildlauf durchführen. Informationen, wie Sie die Farben ändern können, in denen Codezeilen hervorgehoben werden, finden Sie unter Ändern der Anzeige der Codeabdeckungsdaten.

    Hinweis:

    Durch Klicken auf die Schaltflächen auf der Symbolleiste Testtools können Sie die Anzeige der Codeabdeckung innerhalb der Datei umschalten und zu vorherigen oder nachfolgenden Codezeilen in der Datei navigieren.

  5. (Optional) Wenn Sie das Kontrollkästchen für die DLL des Testprojekts aktiviert haben, können Sie zum Anzeigen der angewendeten Testmethoden die Quellcodedatei öffnen, die die Komponententests enthält.

Anzeigen von unterschiedlichen Codeabdeckungsberechnungen

In Codeabdeckungsberechnungen werden die Gesamtwerte der Codeabdeckung im Fenster Codeabdeckungsergebnisse in Spalten angezeigt. Um die Berechnungen von Code, der durch Testläufe abgedeckt oder nicht abgedeckt wurde, anzuzeigen, stehen bis zu acht Spalten zur Verfügung. Sie können Spalten aktivieren, um die Berechnungen als Prozentsatz oder numerischen Gesamtbetrag anzuzeigen. Sie können außerdem Spalten aktivieren, die Berechnungen für Codezeilen und Codeblöcke anzeigen.

So zeigen Sie eine Spalte für die Codeabdeckungsdaten an oder blenden diese aus

  1. Klicken Sie mit der rechten Maustaste im Fenster Codeabdeckungsergebnisse auf die gewünschten Daten.

  2. Klicken Sie auf Spalten hinzufügen/entfernen.

  3. Aktivieren Sie die Kontrollkästchen neben den Elementen, die Sie anzeigen möchten, und deaktivieren Sie die Kontrollkästchen neben den Elementen, die entfernt werden sollen.

  4. Klicken Sie auf OK.

Ändern der Hervorhebung von Codeabdeckungsdaten

In der Standardeinstellung werden bestimmte Farben verwendet, um anzuzeigen, ob Code durch zuvor ausgeführte Tests abgedeckt wurde. In Hellblau hervorgehobene Zeilen wurden beim Testlauf überprüft, während in Rotbraun hervorgehobene Zeilen nicht getestet wurden. Innerhalb von in Beige hervorgehobenen Zeilen wurde nur ein Teil des Codes getestet.

So ändern Sie die Anzeige der Codeabdeckungsdaten

  1. Klicken Sie auf Extras und dann auf Optionen.

    Das Dialogfeld Optionen wird angezeigt.

  2. Erweitern Sie Umgebung.

  3. Klicken Sie auf Schriftarten und Farben.

  4. Wählen Sie unter Einstellungen anzeigen für die Option Text-Editor aus.

  5. Wählen Sie unter Elemente anzeigen den Bereich der Codeabdeckung aus, deren Anzeigefarbe Sie ändern möchten. Sie können zwischen Von Codeabdeckung nicht verwendeter Bereich, Von Codeabdeckung teilweise verwendeter Bereich und Von Codeabdeckung verwendeter Bereich wählen.

  6. Ändern Sie die Einstellungen für diesen Bereich der Codeabdeckung. Sie können die Vordergrund- und Hintergrundfarbe sowie Schriftart, -größe und -stärke des Textes ändern.

  7. (Optional) Ändern sie die Einstellungen für andere Bereiche der Codeabdeckung.

  8. Klicken Sie abschließend auf OK.

Siehe auch

Aufgaben

Gewusst wie: Ausführen ausgewählter Tests

Gewusst wie: Angeben einer Testlaufkonfiguration

Gewusst wie: Übernehmen einer Testlaufkonfiguration

Problembehandlung in der Test Edition

Konzepte

Instrumentieren und erneutes Signieren von Assemblys

Arbeiten mit zusammengeführten Codeabdeckungsdaten

Weitere Ressourcen

Gewusst wie: Generieren eines Komponententests