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

Konzepte

Komponententests und Generika

Referenz

Compileroptionen