Freigeben über


Problembehandlung für generische Tests

Wenn Sie generische Tests ausführen, wird möglicherweise die Fehlermeldung angezeigt, dass Codeabdeckungsdaten nicht erfasst werden können, wenn ein generischer Test auf einer 64-Bit-Plattform ausgeführt wird.Beheben Sie diesen Fehler mithilfe der Informationen aus dem folgenden Abschnitt Umgehen der 32-Bit-Einschränkung.

Anforderungen

  • Visual Studio Ultimate, Visual Studio Premium

Umgehen der 32-Bit-Einschränkung

Die Codeabdeckungsinstrumentation funktioniert nur im 32-Bit-Modus, jedoch nicht im 64-Bit-Modus.Der Grund hierfür ist, dass eine Assembly nur im 32-Modus geladen werden kann, nachdem sie für die Codeabdeckung instrumentiert wurde.

HinweisHinweis

Diese Einschränkung gilt nicht, wenn Sie auf einem 64-Bit-Computer Komponententests ausführen, ohne Codeabdeckungsdaten zu erfassen.Der Grund hierfür ist, dass das Testmodul VSTestHost.exe, das die Klassenbibliothek lädt, in einem 32-Bit-Prozess ausgeführt wird.

Bei einem generischen Test wird die umschlossene Anwendung für die Zielplattformsoption "Any CPU" erstellt. Auf einem 64-Bit-Computer ist dies ein 64-Bit-Prozess.Wenn dieser 64-Bit-Prozess versucht, eine 32-Bit-Assembly zu laden, tritt ein Fehler auf.Mit einer der folgenden Möglichkeiten können Sie dieses Problem beheben.

Verwenden Sie folgende Methode, wenn der generische Test die Binärdatei, in die der Produktionscode kompiliert wurde, direkt umschließt:

  • Ändern der Projektmappenkonfiguration in x86

Verwenden Sie eine der folgenden zwei Methoden, wenn der generische Test und die Binärdatei mit dem Produktionscode durch eine Ebene getrennt sind.Das heißt, der generische Test umschließt eine Vermittleranwendung als Testumgebung.In dieser Testumgebung wird dann der zu testende Produktionscode ausgeführt.

  • Ändern der Buildeinstellungen der Anwendung, die die Binärdatei mit dem Produktionscode lädt

ms404657.collapse_all(de-de,VS.110).gifÄndern der Projektmappenkonfiguration in x86

Ändern Sie die Projektmappenkonfiguration von "Any CPU" in "x86".

So ändern Sie die Projektmappenkonfiguration

  1. Klicken Sie im mit der rechten Maustaste und wählen Sie dann Eigenschaften aus.

    Das Dialogfeld Eigenschaftenseiten für Projektmappen wird angezeigt.

  2. Die Konfigurationseigenschaften wählen Sie Konfiguration aus.

  3. Wählen Sie Konfigurations-Manager aus.

    Das Dialogfeld Konfigurations-Manager wird angezeigt.

  4. Klicken Sie unter Aktive Projektmappenplattform auf Neu.

    Das Dialogfeld Neue Projektmappenplattform wird angezeigt.

  5. Die Neue Plattform eingeben oder auswählen wählen Sie x86 aus.

  6. Im Dialogfeld wählen Sie Neue ProjektmappenplattformOK. aus

  7. Klicken Sie im Dialogfeld, in dem Sie gefragt werden, ob Änderungen speichern möchten, wählen Sie Ja aus.

  8. Klicken Sie im Dialogfeld unter Konfigurations-ManagerAktive Projektmappenplattform, überprüfen Sie, ob x86, aktiviert ist, und wählen Sie dann Schließen aus.

  9. Klicken Sie im Dialogfeld Projektmappen-Eigenschaftenseiten wählen Sie OK aus.

ms404657.collapse_all(de-de,VS.110).gifÄndern der Buildeinstellungen der Anwendung, die die Binärdatei mit dem Produktionscode lädt

Mit diesem Vorgang können Sie eine Vermittleranwendung oder Testumgebung instrumentieren, die vom generischen Test umschlossen wird.Diese Vermittleranwendung führt den zu testenden Code aus.

In diesem Vorgang ändern Sie die Einstellungen der Vermittleranwendung, um sie für die x68-Plattform zu konfigurieren.

HinweisHinweis

Dies ist nur möglich, wenn die umschlossene Anwendung aus einem Projekt in der Projektmappe erstellt wurde.

So ändern Sie die Buildeinstellungen für die umschlossene Anwendung

  1. Klicken Sie im Projektmappen-Explorer auf das Projekt, aus dem die Vermittleranwendung erstellt wird, mit der rechten Maustaste und wählen dann Eigenschaften aus.

    Es wird eine Eigenschaftenseite für das Projekt angezeigt.

  2. Wählen Sie die Registerkarte aus. Build

  3. Geben Sie als Zielplattform x86 an.

  4. Klicken Sie im Menü Datei wählen Sie Ausgewählte Elemente speichern aus.

Siehe auch

Konzepte

Erstellen eines automatisierten Tests, der eine ausführbare Datei ausführt, mithilfe generischer Tests