Gewusst wie: Deaktivieren und Aktivieren von Tests

Aktualisiert: November 2007

Sie können einen Test deaktivieren, damit er vorübergehend nicht verfügbar ist, wenn Sie eine Gruppe von Tests ausführen, die diesen Test enthält. Sie können ihn jederzeit wieder aktivieren. Welchen Nutzen hat das Deaktivieren eines Tests? Stellen Sie sich folgendes Szenario vor:

  • Das Produktbuild enthält einen Fehler, der einen Absturz verursacht. Dieser Fehler befindet sich in Code, der mit einem der Tests überprüft wird. Dieser Test ist einer von vielen, die nacheinander ausgeführt werden. Aufgrund des Absturzes, den dieser Test indirekt hervorruft, können die nachfolgenden Tests im Testlauf nicht ausgeführt werden. Die Lösung besteht darin, einen Fehler für den Code aufzunehmen, der den Absturz verursacht, und diesen Test anschließend zu deaktivieren, bis der Fehler behoben ist. Daraufhin können die auf diesen Test folgenden Tests ausgeführt werden.

  • Ein bestimmter Test in einem Testlauf weist auf einen Fehler hin, den Sie aufnehmen. Deaktivieren Sie anschließend den Test, damit dieser nun bekannte Fehler nicht bei jeder weiteren Ausführung der Testauswahl erneut gefunden wird.

    Hinweis:

    Vergessen Sie nicht, den entsprechenden Test wieder zu aktivieren, sobald der zugehörige Fehler behoben wurde.

Wenn Sie eine Testliste ausführen, die deaktivierte Tests enthält, werden nur die aktivierten Tests in dieser Testliste ausgeführt. Wenn eine Testliste keine aktivierten Tests enthält, ist die Testliste selbst deaktiviert.

Verwenden des Ignore-Attributs mit Komponententests

In Verwenden des Ignore-Attributs wird beschrieben, wie eine Komponententestmethode mit dem IgnoreAttribute-Attribut gekennzeichnet wird. Durch die Verwendung dieses Attributs ändert sich die Verfügbarkeit des Tests. Es gibt jedoch folgende Unterschiede zu der anderen Möglichkeit, Tests zu deaktivieren und zu aktivieren:

  • Wie unter Deaktivieren von Tests und Aktivieren von Tests beschrieben, können Sie Tests eines beliebigen Typs im Testlisten-Editor deaktivieren und aktivieren. Das Ignore-Attribut kann jedoch nur auf eine Testmethode angewendet werden. Dies bedeutet, dass Sie das Ignore-Attribut nur auf Komponententests anwenden können.

  • Die Kennzeichnung zum Aktivieren und Deaktivieren von Tests wird in der Testmetadatendatei gespeichert.

  • Das Ignore-Attribut eines Komponententests befindet sich zusammen mit den anderen Attributen und dem Testquellcode in der Quelldatei des Komponententests. Wenn Sie also einen Komponententest im Testlisten-Editor deaktivieren und den Test später mithilfe des Befehlszeilen-Dienstprogramms MSTest.exe ausführen, wird dieser Test dennoch gestartet. Wenn Sie einen Komponententest jedoch mit dem Ignore-Attribut kennzeichnen, die Assembly kompilieren und den Test anschließend mithilfe von MSTest.exe ausführen, wird der Test nicht gestartet. Er wird nicht ausgeführt, da das Ignore-Attribut ein Teil des Tests geworden ist.

Diese zwei Ansätze werden in unterschiedlichen Szenarien verwendet:

  • Ignore-Attribut: Sie sind ein Entwickler, der sowohl den Produktions- als auch den Testcode erstellt. Sie führen zurzeit eine große Anzahl von Änderungen durch und sind sich bewusst, dass einer der Komponententests eine Zeit lang fehlschlagen wird. Deshalb kennzeichnen Sie den Test beim Einchecken mit dem Ignore-Attribut, um anzuzeigen, dass Sie mit dem Auftreten eines Fehlers bei diesem Test rechnen.

  • Deaktivieren und Aktivieren: Sie arbeiten in einer Kompilierungsabteilung und haben keinen Zugang zum Quellcode der Tests, die Sie ausführen. In diesem Fall können Sie nur die Optionen zum Aktivieren und Deaktivieren des Testlisten-Editors verwenden.

Deaktivieren von Tests

So deaktivieren Sie Tests

  • Um einen Test im Testlisten-Editor zu deaktivieren, klicken Sie mit der rechten Maustaste auf einen aktivierten Test und klicken dann auf Deaktivieren. Markieren Sie zum Deaktivieren mehrerer Tests die zu deaktivierenden Tests, indem Sie beim Klicken auf die gewünschten Testzeilen STRG oder die UMSCHALTTASTE gedrückt halten. Klicken Sie anschließend mit der rechten Maustaste auf die markierten Zeilen, und wählen Sie Deaktivieren aus.

    - oder -

    Wählen Sie den Test im Testlisten-Editor oder im Fenster Testansicht aus, und drücken Sie F4, um das Eigenschaftenfenster anzuzeigen. Legen Sie dann für die Eigenschaft Test aktiviert den Wert False fest.

Aktivieren von Tests

So aktivieren Sie Tests

  • Um einen Test im Testlisten-Editor zu aktivieren, klicken Sie mit der rechten Maustaste auf einen deaktivierten Test und klicken dann auf Aktivieren. Markieren Sie zum Aktivieren mehrerer Tests die zu aktivierenden Tests, indem Sie beim Klicken auf die gewünschten Testzeilen STRG oder die UMSCHALTTASTE gedrückt halten. Klicken Sie danach mit der rechten Maustaste auf die markierten Zeilen, und wählen Sie Aktivieren aus.

    - oder -

    Wählen Sie den Test im Testlisten-Editor oder im Fenster Testansicht aus, und drücken Sie F4, um das Eigenschaftenfenster anzuzeigen. Legen Sie dann für die Eigenschaft Test aktiviert den Wert True fest.

Verwenden des Ignore-Attributs

So verwenden Sie das Ignore-Attribut

  1. Öffnen Sie den Komponententest, um den Quellcode zu bearbeiten. Doppelklicken Sie dazu im Testlisten-Editor auf den Komponententest.

    Die Quellcodedatei mit dem Komponententest wird geöffnet.

  2. Fügen Sie dem Komponententest das IgnoreAttribute-Attribut hinzu.

    Der Test wird deaktiviert. Im Eigenschaftenfenster wird für die Eigenschaft Test aktiviert automatisch False festgelegt. Weitere Informationen zum Gültigkeitsbereich dieser Aktion finden Sie im vorangegangenen Abschnitt "Verwenden des Ignore-Attributs mit Komponententests".

    Um den Test wieder zu aktivieren, löschen Sie das Ignore-Attribut, oder kommentieren Sie es aus.

Siehe auch

Aufgaben

Gewusst wie: Ausführen ausgewählter Tests

Referenz

IgnoreAttribute