Freigeben über


Übersicht über ASP.NET-Komponententests

Sie können ASP.NET-Komponententests verwenden, um Methoden zu testen, die Bestandteil von ASP.NET-Sites oder Projekten sind. Zum Beispiel können Sie die Methoden testen, die die Geschäftslogik eines ASP.NET-Projekts bilden.

Der Unterschied zwischen ASP.NET-Komponententests und anderen Komponententests besteht in dem Prozess, in dem die Tests ausgeführt werden. ASP.NET-Tests werden in der gleichen Umgebung ausgeführt, in der auch der Produktionscode ausgeführt wird. Sie können hierfür IIS oder ASP.NET Development Server auswählen. Wenn die Tests im Webserverprozess ausgeführt werden, haben Sie Zugriff auf die gesamte, diesem Prozess zugeordnete Umgebung, z. B. auf das Page-Objekt.

Sie haben zwei Möglichkeiten, einen ASP.NET-Komponententest zu erstellen: Sie können einen Test generieren oder einen bestehenden Test so konfigurieren, dass er als ASP.NET-Komponententest ausgeführt wird. Diese beiden Methoden werden unter Gewusst wie: Erstellen eines ASP.NET-Komponententests beschrieben.

Außerdem können Sie in einer Testlaufkonfiguration Einstellungen angeben, die für die von Ihnen ausgeführten Komponententests verwendet werden. Die Einstellungen werden nur verwendet, wenn die entsprechende Testlaufkonfiguration aktiv ist. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines ASP.NET-Komponententests.

Verwenden einer anderen Prozessidentität beim Ausführen von ASP.NET-Komponententests

Wenn Sie ASP.NET-Code testen, wird der Testcode entweder im IIS-Prozess oder in einem ASP.NET Development Server-Prozess ausgeführt. Wenn der ASP.NET-Komponententest im IIS-Prozess ausgeführt wird, können Sie den ASP.NET-Prozess aus Sicherheitsgründen als nicht-Standardbenutzer ausführen, d. h. mit einer anderen Prozessidentität.

Falls beispielsweise für die ASP.NET-Website Zugriff auf Computerressourcen wie Ordner, Dateien oder Datenbanken erforderlich ist, können Sie den Prozess so ausführen, dass die Berechtigungen für genau diese Ressourcen ausreichen.

Hinweis

Die Standardidentität ist von der IIS-Version abhängig. In Windows Server 2003 ist die Standardidentität des ASP.NET-Prozesses (w3wp.exe) beispielsweise "NETWORK SERVICE".

In dieser Situation kann das Ausführen von Komponententests fehlschlagen. Beispielsweise kann der als nicht-Standardbenutzer ausgeführte ASP.NET-Prozess versuchen, temporäre Dateien im Verzeichnis %WINDIR%\Temp zu generieren, obwohl die Berechtigungen des Prozesses eingeschränkt sind. Dies schlägt fehl, wenn die Standardberechtigungen für %WINDIR%\Temp nicht zum Generieren dieser Dateien ausreichen. Damit in diesem Fall Komponententests erfolgreich ausgeführt werden können, müssen Sie dem Prozess umfassendere Berechtigungen für den Ordner %WINDIR%\Temp gewähren.

Das Ausführen von Komponententests kann auch fehlschlagen, wenn das Dienstkonto nicht über Zugriff auf den Stammordner der Bereitstellung verfügt. In diesem Fall wird von Visual Studio ein Dialogfeld mit einer Fehlerbeschreibung angezeigt. Klicken Sie auf OK, um fortzufahren.

Siehe auch

Aufgaben

Gewusst wie: Erstellen eines ASP.NET-Komponententests
Gewusst wie: Angeben einer Testlaufkonfiguration
Gewusst wie: Debuggen beim Ausführen eines Tests in einer ASP.NET-Projektmappe

Konzepte

Übersicht über die Testbereitstellung
ASP.NET-Komponententests und private Accessoren

Weitere Ressourcen

Erstellen von Komponententests