Auswählen des Instrumentationsordners
Aktualisiert: November 2007
Wenn Sie beim Testen von Code Codeabdeckungsdaten in einer Binärdatei erfassen müssen, muss die Binärdatei zunächst von Visual Studioinstrumentiert werden. Bei der Instrumentation wird der Binärdatei Code hinzugefügt, mit dem Codeabdeckungsdaten generiert werden. Weitere Informationen über die Instrumentation von Binärdateien für Codeabdeckungen finden Sie unter Gewusst wie: Erfassen von Codeabdeckungsdaten.
Sie haben gewisse Steuerungsmöglichkeiten in Bezug auf die Instrumentation, da Sie festlegen können, wo diese ausgeführt werden soll. Mit Visual Studio können Binärdateien auf zwei Arten instrumentiert werden:
Direkt. Wenn Sie die direkte Instrumentation auswählen, instrumentiert Visual Studio die Binärdatei in den Ordner, in dem sich diese vor Ausführen des Tests befindet. Wenn die Binärdatei Teil einer Anwendung ist, die Sie erstellen, ist dies der Ordner, in dem Visual Studio die Binärdatei angelegt hat.
Im Bereitstellungsordner. Wenn Sie nicht die direkte Instrumentation auswählen, instrumentiert Visual Studio die Binärdatei in den Bereitstellungsordner. Bereitstellungsordner werden speziell für Testläufe erstellt. Weitere Informationen über den Bereitstellungsprozess finden Sie unter Übersicht über die Testbereitstellung.
Weitere Informationen zum Festlegen des zu verwendenden Ordners finden Sie unter Festlegen des Instrumentationsordners. Informationen über das Angeben des Ordners finden Sie dann unter Angeben des Instrumentationsordners.
Festlegen des Instrumentationsordners
Wie können Sie ermitteln, in welchen Ordner die Binärdatei instrumentiert werden soll? Die Auswahl zwischen der direkten Instrumentation und der Instrumentation im Bereitstellungsordner ist von der Zugriffsebene auf die Binärdatei sowie vom Typ der Binärdatei abhängig.
Binärdateien mit eingeschränkter Verfügbarkeit. Jede Binärdatei mit mindestens einem der folgenden Zustände wird in der folgenden Tabelle als Binärdatei mit eingeschränkter Verfügbarkeit bezeichnet:
Die Binärdatei ist für mehrere Personen freigegeben. Bei freigegebenen Binärdateien können aufgrund der gleichzeitigen Verwendung durch mehrere Benutzer Konflikte auftreten. Beispiel: Zwei Benutzer starten Testläufe und fordern gleichzeitig Codeabdeckungsdaten aus derselben Binärdatei an.
Die Binärdatei befindet sich auf einer Netzwerkfreigabe, und nicht auf dem lokalen Computer.
Sie haben schreibgeschützten Zugriff auf die Binärdatei.
Binärdateien mit festem Ladespeicherort. Das Testausführungsmodul kann bestimmte Binärdateien nur von einem spezifischen Speicherort laden. Diese Binärdateien werden in der folgenden Tabelle als Binärdateien mit festem Ladespeicherort bezeichnet. Dazu gehören die folgenden Dateitypen:
COM-Komponenten
Systemsteuerungsseiten
In der folgenden Tabelle finden Sie einen Leitfaden zum Auswählen des richtigen Instrumentationsordners. Weitere Informationen über Fälle, in denen besondere Faktoren zu berücksichtigen sind, finden Sie in der Spalte Weitere Hinweise.
Ladespeicherort der Binärdatei |
Verfügbarkeit der Binärdatei |
Instrumentieren in diesen Ordner |
Weitere Hinweise |
fixed |
nicht eingeschränkt |
direkt |
(keine) |
nicht fest |
eingeschränkt |
im Bereitstellungsordner |
(keine) |
nicht fest |
nicht eingeschränkt |
Beide Ordner funktionieren. Es wird jedoch empfohlen, dass Sie die Option "im Bereitstellungsordner" auswählen. |
Wenn Sie nach Auswahl der direkten Instrumentation eine instrumentierte Binärdatei während eines Testlaufs erneut erstellen, stellt das Testmodul fest dass die neu erstellte Binärdatei neueren Datums ist, stellt deren vorher instrumentierte Version nicht wieder her, und generiert eine Warnung auf Ausführungsebene. |
fixed |
eingeschränkt |
direkt, beachten Sie jedoch Weitere Hinweise |
Wenn Sie nicht die direkte Instrumentation auswählen, wird keine der Binärdateien mit einem festen Speicherort instrumentiert. Daher werden keine Codeabdeckungdaten erfasst, obwohl die Testausführung fortschreitet und keine Warnung auf Ausführungsebene generiert wird. Vorschläge zum Umgehen dieses Problems finden Sie unter Fester Speicherort, Binärdateien mit eingeschränkter Verfügbarkeit. |
Angeben des Instrumentationsordners
Sie können zwischen der direkten Instrumentation und der Instrumentation im Bereitstellungsordner auf zwei Arten wechseln:
Um Ihre Auswahl als Standardeinstellung festzulegen, wählen Sie in Visual Studio im Menü Extras das Dialogfeld Optionen. Diese Einstellung finden Sie auf der Seite Testausführung unter dem Knoten Testtools.
Sie können auch für eine spezielle Testlaufkonfiguration einen Instrumentationsordner angeben. Auf der Seite Codeabdeckung im Testlaufkonfigurations-Editor kann die Option Assemblys direkt instrumentieren aktiviert werden. Weitere Informationen finden Sie unter Gewusst wie: Angeben einer Testlaufkonfiguration.
Fester Speicherort, Binärdateien mit eingeschränkter Verfügbarkeit
Das Testmodul muss in der Lage sein, die Binärdatei zu ändern, die direkt instrumentiert werden soll. Überprüfen Sie dazu die folgenden Kriterien:
Bei der Binärdatei darf das Schreibschutzattribut nicht festgelegt sein. Wenn Sie über ausreichende Berechtigungen für die Datei verfügen, können Sie diese Einstellung ändern.
Das Testmodul muss über die Berechtigungen zum Instrumentieren der Binärdatei verfügen. Das bedeutet, dass der Benutzer, der den Test ausführt, über die erforderlichen Berechtigungen zum Ändern der Binärdateien verfügen sollte. Die Instrumentation wird von der Host-Anwendung ausgeführt. Daher ist das Konto, das über die Berechtigungen verfügen muss, das Konto, unter dem devenv.exe oder MSTest.exe ausgeführt wird (egal, ob lokal oder remote). Dieses Konto gehört zur Person, die VisualStudio ausführt, den Befehl MSTest.exe ausführt, oder einen Build gestartet hat, der wiederum Tests ausführt.
Die Binärdatei darf nicht gerade durch ein anderes Programm verwendet werden oder gesperrt sein. Um dies zu korrigieren, müssen Sie entweder dieses Programm beenden oder warten, bis es beendet ist.
Wenn das Testmodul weiterhin nicht eine oder mehrere Binärdateien instrumentieren kann, generiert es eine Warnung auf Ausführungsebene.
Siehe auch
Aufgaben
Gewusst wie: Angeben einer Testlaufkonfiguration
Gewusst wie: Konfigurieren der Testbereitstellung
Konzepte
Instrumentieren und erneutes Signieren von Assemblys
Übersicht über die Testbereitstellung