Auswählen des Instrumentationsordners
Wenn Sie beim Testen von Code in einer Assembly Codeabdeckungsdaten erfassen möchten, muss Visual Studio diese Assembly zuerst instrumentieren. Bei der Instrumentation wird der Assembly Code hinzugefügt, mit dem Codeabdeckungsdaten generiert werden.
Sie können entscheiden, in welchem Ordner die Assemblys instrumentiert werden. Visual Studio kann an einem von zwei Speicherorten Assemblys instrumentieren:
Direkt. Wenn Sie die direkte Instrumentation auswählen, instrumentiert Visual Studio die Assembly in den Ordner, in dem sich diese vor Ausführen des Tests befindet. Wenn die Assembly Teil einer Anwendung ist, die Sie erstellen, ist dies der Ordner, in dem Visual Studio die Assembly angelegt hat.
Im Bereitstellungsordner. Wenn Sie nicht die direkte Instrumentation auswählen, instrumentiert Visual Studio die Assembly in den Bereitstellungsordner. Bereitstellungsordner werden speziell für Testläufe erstellt. Weitere Informationen zum Konfigurieren der Testbereitstellung finden Sie unter Gewusst wie: Konfigurieren der Testbereitstellung.
Festlegen des Instrumentationsordners
Die Auswahl zwischen der direkten Instrumentation und der Instrumentation im Bereitstellungsordner ist von der Zugriffsebene auf die Assembly sowie vom Typ der Assembly abhängig.
Assemblys mit eingeschränkter Verfügbarkeit. Jede Assembly mit mindestens einem der folgenden Zustände wird in der folgenden Tabelle als Assembly mit eingeschränkter Verfügbarkeit bezeichnet:
Die Assembly ist für mehrere Personen freigegeben. Bei freigegebenen Assemblys können aufgrund der gleichzeitigen Verwendung durch mehrere Benutzer Konflikte auftreten. Beispiel: Zwei Benutzer starten Testläufe und fordern gleichzeitig Codeabdeckungsdaten aus derselben Assembly an.
Die Assembly befindet sich auf einer Netzwerkfreigabe, und nicht auf dem lokalen Computer.
Sie haben schreibgeschützten Zugriff auf die Assembly.
Assemblys mit festem Ladespeicherort. Das Testausführungsmodul kann bestimmte Assemblys nur von einem spezifischen Speicherort laden. Diese Assemblys werden in der folgenden Tabelle als Assemblys 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 Assembly |
Verfügbarkeit der Assembly |
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 Assembly während eines Testlaufs erneut erstellen, stellt das Testmodul fest dass die neu erstellte Assembly 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 Assemblys mit einem festen Speicherort instrumentiert. Daher werden keine Codeabdeckungdaten erfasst, obwohl die Testausführung fortschreitet und keine Warnung auf Ausführungsebene generiert wird. |
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 beim Konfigurieren des Adapters für diagnostische Daten für die Codeabdeckung einen Instrumentationsordner für die Testeinstellungen angeben. Weitere Informationen finden Sie unter Gewusst wie: Konfigurieren von Codeabdeckung mithilfe von Testeinstellungen für automatisierte Tests.
Fester Speicherort, Assemblys mit eingeschränkter Verfügbarkeit
Um die Assembly zu ändern, die direkt instrumentiert werden soll, müssen die folgenden Kriterien erfüllt werden:
Bei der Assembly darf das Schreibschutzattribut nicht festgelegt sein. Wenn Sie über ausreichende Berechtigungen für die Datei verfügen, können Sie diese Einstellung ändern.
Der Benutzer, der den Test ausführt, muss die erforderlichen Rechte zum Ändern der Assemblys haben. 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 Assembly 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 Assemblys instrumentieren kann, generiert es eine Warnung auf Ausführungsebene.
Siehe auch
Aufgaben
Gewusst wie: Konfigurieren der Testbereitstellung
Konzepte
Instrumentieren und erneutes Signieren von Assemblys
Weitere Ressourcen
Erstellen von Testeinstellungen zum Ausführen von automatisierten Tests in Visual Studio
Erstellen von Einstellungen für automatisierte Tests als Teil eines Testplans