Upgrading Unit Tests from Visual Studio 2010

Visual Studio 2012 enthält Testprojektkompatibilität mit Testprojekten Visual Studio 2010 SP1 ein.Beispielsweise können Testprojekte, die Sie mit Visual Studio 2010 SP1 erstellt haben, mit Visual Studio 2012 ohne jeden Upgrade geöffnet werden.Daher kann das Team Visual Studio 2010 SP1 und Visual Studio 2012 verwenden, um mit demselben Testprojekt zu arbeiten.Weitere Informationen finden Sie unter Upgrading tests from Visual Studio 2010.

Visual Studio 2012 werden mehrere Änderungen für Komponententests vor.Aufgrund dieser Änderungen ist es wichtig, die Kompatibilitätsprobleme zwischen früheren Versionen von Visual Studio und Visual Studio 2012 zu verstehen.Zu den Änderungen am Komponententest, ist eine signifikante Änderung, dass Visual Studio 2012 mehr als eine Testprojektvorlage enthält, einschließlich einer Komponententestprojektvorlage.Neue Komponententests werden zur neuen Komponententestprojektvorlage hinzugefügt.Komponententests können in einer anderen neuen Testprojektvorlage auch enthalten sind, die die Tests der codierten UI-Projektvorlage aufgerufen wird.Weitere Informationen zu den neuen Testprojektvorlagen, finden Sie unter Upgrade der Tests von früheren Visual Studio-Versionen.Die neuen Komponententestprojekte enthalten nicht mehr eine Testeinstellungsdatei standardmäßig.Mit der Testeinstellungsdatei ausschließt, verbessert die Leistung der Komponententests.Für Kompatibilität können Sie die vorhandenen Testprojekte trotzdem verwenden, die Sie mit Visual Studio 2010-Verlaufsdebuggerauflistung erstellt haben.Es wird jedoch empfohlen, die Testeinstellungsdatei entfernen, die mit dem Testprojekt aus Leistungsgründen zugeordnet wird, es sei denn, Sie eine bestimmte Anforderung für die Testeinstellungsdatei haben.Sie können beispielsweise Sie, um die Testeinstellungsdatei beizubehalten, wenn die Komponententests, die in einer verteilten Umgebung ausgeführt werden, oder Sie bestimmte Sammlung von Diagnosedaten müssen.Wenn Sie eine ähnliche Anforderung mit der neuen Komponententestprojektvorlage oder der Test der codierten UI-Projektvorlage haben, können Sie eine Testeinstellungsdatei ihnen auch manuell hinzufügen.

HinweisHinweis

Vorhandene Komponententests in den Testprojekten aus Visual Studio 2010 SP1 arbeiten nahtlos zwischen Visual Studio 2010 SP1 und Visual Studio 2012.Keine Änderungen werden den Testprojektdateien, wenn ein Visual Studio 2010-Testprojekt, das die Komponententests enthält, in Visual Studio 2012 geöffnet ist, oder umgekehrt vorgenommen.

WarnhinweisVorsicht

Visual Studio 2010 kann ein C/C++-Projekt ++/CLI nicht öffnen für das Toolset 11,0 (das heißt, ein Projekt erstellt in Visual Studio 2012).Diese Einschränkung gilt für alle Projekte C++/CLI, nicht nur C++/CLI-Komponententestprojekte.

HinweisHinweis

Sie können die neuen Komponententests mit vstest.console.exe von der Befehlszeile ausführen.Weitere Informationen zur Verwendung von vstest.console.exe, finden Sie unter Befehlszeilenoptionen für VSTest.Console.exe oder führen Sie den Befehl aus, indem Sie den Hilfeschalter verwenden: vstest.console.exe /?.Sie können weiterhin, um die vorhandenen Komponententests mit MStest.exe auszuführen.Weitere Informationen finden Sie unter Gewusst wie: Ausführen von automatisierten Tests über die Befehlszeile mit MSTest und Befehlszeilenoptionen für MSTest.exe.

Eine weitere signifikante Änderung ist der neue Test-Explorer.In Visual Studio 2012 sind einige der Testsfenster, die Sie möglicherweise mit von früherer Version von Visual Studio vertraut sind, wie das Fenster Testansicht veraltet.Test-Explorer wurde entworfen, um Stützentwickler und -teams zu verbessern, die Komponententests in ihren Softwareentwicklungsübungen enthalten.Weitere Informationen finden Sie unter Ausführen von Komponententests mit dem Test-Explorer.

Kompatibilitätsprobleme zwischen Visual Studio 2010 SP1 und Visual Studio 2012

Im Folgenden einige Probleme, zu beachten zu werden, wenn Sie Komponententests zwischen Visual Studio 2010 SP1 und Visual Studio 2012 migrieren:

Komponententestfunktionalität

Problem

Lösung

Testlisten (.vsmdi-Dateien) werden in Visual Studio 2012 veraltet.

Sie sind nicht mehr in der Lage, neue Testlisten (.vsmdi-Dateien) zu erstellen oder Testlisten von Visual Studio auszuführen.

TippTipp
Testkategorien bieten mehr Flexibilität als die Testlistenfunktion in früheren Versionen von Microsoft Visual Studio.Sie können mit Testkategorien logische Operatoren verwenden, um Tests aus mehreren Kategorien gemeinsam auszuführen oder um die Ausführung auf Tests zu beschränken, die mehreren Kategorien angehören.Testkategorien können ganz einfach beim Erstellen der Testmethoden hinzugefügt werden. Sie müssen keine Testlisten mehr verwalten, nachdem Sie die Testmethoden erstellt haben.Mit Testkategorien verwenden, müssen Sie die <solution name>.vsmdi Datei nicht einchecken und auschecken, die die Testlisten verwaltet.Weitere Informationen finden Sie unter Definieren von Testkategorien zum Gruppieren von Tests.

Private Accessoren werden in Visual Studio 2012 veraltet.

In früheren Versionen von Visual Studio, könnten Sie verwenden publizieren, um interne Anwendungsprogrammierschnittstellen (APIs) anzugeben und öffentliche äquivalente API, die in den Tests aufrufen können, die wiederum, wurden Aufruf zu erstellen in das interne API des Produkts.Sie können Codegenerierung dann verwenden, um Teststubs zu erstellen und Codeausschnittinnere zu generieren, die roden.

Sie sind nicht mehr in der Lage, private Accessoren zu erstellen.

  • Visual Studio 2010-Testprojekte kompiliert und funktionieren in Visual Studio 2012.Der Build umfasst Ausgabewarnungen.

  • Wenn Sie noch internes API testen müssen, haben Sie folgende Optionen:

    • Verwenden Sie die PrivateObject-Klasse, um im Zugriff auf internes und privates API im Code zu unterstützen.Dies wird in der Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll-Assembly gefunden.

    • Erstellen Sie ein Reflektionsframework, das wäre, sich vom Code wiederzugeben, um auf internes oder privates API zuzugreifen.

    • Wenn auf der Code, den Sie versuchen zuzugreifen, ist intern, Sie in der Lage ist, auf das APIs mit InternalsVisibleToAttribute zuzugreifen, sodass das Testcode Zugriff auf den internen API haben kann.

Testauswirkung werden entfernt

Freigabe der Ausführung Ergebnisse durch TRX-Protokolle im Test-Explorer.

Sie können TRX-Protokolle von der Befehlszeile und von Team Build abrufen.

Codeabdeckung mit systemeigenen C++-Komponententests

Wenn Komponententest in C++ fehlschlägt und Codeabdeckung aktiviert ist, gibt es keine Stapelüberwachung für den Fehler.

Die umgehen, die C++-Komponententests ohne Codeabdeckung auszuführen und die Aufrufliste abzurufen, um das Problem zu identifizieren.

Siehe auch

Konzepte

Visual Studio 2012 – Kompatibilität

Überprüfen von Code mithilfe von Komponententests

Upgrade der Tests von früheren Visual Studio-Versionen

Upgrade der Tests der codierten UI von Visual Studio 2010