Komponententests und C++
Aktualisiert: November 2007
Sie können Komponententests in Visual C# und Visual Basic verwenden.
Hinweis: |
---|
Bei der Generierung von Komponententests für generische Typen und Methoden in Visual C# and Visual Basic gelten einige Einschränkungen. Weitere Informationen finden Sie unter Komponententests und Generika. |
Sie können Komponententests auch in Visual C++ entsprechend den in diesem Thema beschriebenen Besonderheiten verwenden.
Wie Sie Visual C++ mit Komponententests verwenden können, hängt von der Rolle ab, die Visual C++ in Ihrem Projekt spielt. Folgende Fälle sind möglich:
Sie verwenden Komponententests, um Visual C++-Code zu testen. Informationen hierzu finden Sie unter Visual C++-Produktionscode.
Das Testprojekt enthält in Visual C++ geschriebene Komponententests. Informationen hierzu finden Sie unter Testprojekte und Visual C++.
Sie planen die automatische Generierung von Komponententests aus Visual C++-Code. Informationen hierzu finden Sie unter Codegenerierung und Visual C++.
Visual C++-Produktionscode
Beachten Sie bei dem zu testenden Code, hier als Produktionscode bezeichnet, die folgenden Punkte.
Nicht verwaltet Wenn der Produktionscode nicht verwaltet ist, muss er aus einer statischen Bibliothek, einer OBJ-Datei oder einem DLL-Einstiegspunkt aufgerufen werden können. In einer ausführbaren Datei oder einer DLL eingebettete Klassenmethoden können nicht verwendet werden, da nicht verwalteter Visual C++-Code über keinen Laufzeit-Discovery-Mechanismus bzw. Reflektion verfügt. Daher können nur die traditionellen systemeigenen Bindungsmechanismen verwendet werden.
Gemischt Ein gemischtes Projekt ist ein Projekt, das die /clr-Compileroption verwendet. Wenn Sie gemischten Produktionscode und keine ausführbare Datei verwenden, kann jede aufrufbare Methode im Code aufgerufen und getestet werden.
Sicher oder überprüfbar Wenn der Produktionscode sicher oder überprüfbar ist, kann jede aufrufbare Assemblymethode in einer ausführbaren Datei oder DLL aufgerufen und getestet werden.
Testprojekte und Visual C++
Der Funktionsumfang eines Testprojekts ist abhängig von den für das Projekt festgelegten Compileroptionen. Weitere Informationen finden Sie unter Compileroptionen und /clr (Common Language Runtime-Kompilierung). In den folgenden Abschnitten werden die verfügbaren Funktionen bei verschiedenen Compileroptionen beschrieben.
Nicht verwaltet
Nicht verwaltetes oder systemeigenes Visual C++-kann nicht als Programmiersprache für ein Testprojekt verwendet werden.
Gemischt
Ein gemischtes Projekt ist ein Projekt, das die /clr-Compileroption verwendet. Bei dieser Art von Testprojekt kann der folgende Produktionscode getestet werden:
Statische systemeigene Bibliotheken
Systemeigene DLL-Einstiegspunkte
Einzelne OBJ-Dateien
Gemischte DLL-Assemblys mit aufrufbaren Methoden. Dies schließt ausführbare Dateien nicht ein, da diese nicht verwalteten Code enthalten und nicht verwalteter ausführbarer Code generell nicht für rebase-Adressen geeignet ist.
Eine beliebige aufrufbare verwaltete Methode. Dies ist Code, der mit der /clr pure- oder /clr: safe-Compileroption kompiliert wurde.
Sicher oder überprüfbar
Wenn Sie die /clr:pure- oder die /clr:safe-Compileroption für das Testprojekt verwenden, können Sie alle aufrufbaren verwalteten Methoden testen. Dies bezieht sich auf Produktionscode, der mit einer der Compileroptionen /clr, /clr:pure oder /clr:safe kompiliert wurde.
Codegenerierung und Visual C++
Sie können Komponententests in einem Visual C++-Testprojekt generieren. Sie können diese Tests auch aus einem Visual C++ Produktionscode-Projekt generieren. Beachten Sie Folgendes:
Produktionscodeprojekt Wenn der Produktionscode in Visual C++ geschrieben ist, können Sie nur dann Komponententests generieren, wenn für das Produkt die /clr:safe-Compileroption verwendet wird.
Testprojekt Es können Komponententests eines beliebigen Typs von Visual C++-Testprojekten generiert werden: gemischt, sicher und überprüfbar. Standardmäßig wird ein Projekt vom Typ /clr: safe generiert. Sie können das Projekt jederzeit über die Visual C++-Compileroptionen in /clr oder /clr:pure ändern. Weitere Informationen finden Sie unter /clr (Common Language Runtime-Kompilierung).
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Komponententests