Gewusst wie: Erstellen eines ASP.NET-Komponententests
Aktualisiert: November 2007
Mit ASP.NET-Komponententests werden Methoden getestet, die Teil von ASP.NET-Projekten sind. ASP.NET-Komponententests können auf zwei Arten erstellt werden:
Durch Generieren des ASP.NET-Komponententests aus einem ASP.NET-Projekt. Dies ist das häufigste Szenario.
Durch Konfigurieren eines vorhandenen Komponententests als ASP.NET-Komponententest.
Außerdem können Sie in einer Testlaufkonfiguration Einstellungen festlegen, die den von ASP.NET-Komponententests verwendeten Attributen entsprechen. Diese Prozeduren werden in den folgenden Abschnitten beschrieben.
Hinweis: |
---|
Wenden Sie beim Ausführen von ASP.NET-Komponententests das ClassCleanupAttribute-Attribut und das ClassInitializeAttribute-Attribut nicht auf Methoden in Klassen an, die ASP.NET-Komponententests enthalten. Verwenden Sie außerdem das AssemblyCleanupAttribute-Attribut und das AssemblyInitializeAttribute-Attribut nicht in einer Assembly, die einen ASP.NET-Komponententest enthält. Das Ergebnis der Verwendung dieser Attribute in solchen Situationen ist nicht definiert. Sie können jedoch das TestInitializeAttribute-Attribut und das TestCleanupAttribute-Attribut für alle Komponententests verwenden. |
Vor Testläufen werden unabhängig von den darin enthaltenen Testtypen Setupskripts und Bereinigungsskripts ausgeführt. Weitere Informationen über Skripts, die in Verbindung mit Testläufen ausgeführt werden, finden Sie unter Übersicht über die Testbereitstellung und Gewusst wie: Angeben einer Testlaufkonfiguration.
Generieren eines ASP.NET-Komponententests
Zum Generieren eines ASP.NET-Komponententests erstellen Sie zuerst eine ASP.NET-Website innerhalb der Visual Studio-Projektmappe. Anschließend fügen Sie dem Website-Projekt eine Klasse hinzu und generieren aus dieser Klasse einen Komponententest.
So generieren Sie einen ASP.NET-Komponententest
Zum Generieren eines ASP.NET-Komponententests erstellen Sie zuerst eine ASP.NET-Website. Klicken Sie dazu mit der rechten Maustaste auf die Projektmappe, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neue Website.
Klicken Sie im Dialogfeld Neue Website hinzufügen auf ASP.NET-Website.
Klicken Sie unter Speicherort auf Dateisystem, um ASP.NET Development Server anzugeben.
Klicken Sie auf OK.
Sie haben nun eine neue Website erstellt.
Fügen Sie diesem Projekt eine Klasse hinzu. Klicken Sie dazu im Projektmappen-Explorer mit der rechten Maustaste auf die Website, und klicken Sie dann auf Neues Element hinzufügen.
Klicken Sie im Dialogfeld Neues Element hinzufügen auf Klasse und anschließend auf Hinzufügen.
Ein Dialogfeld Microsoft Visual Studio wird mit der Frage angezeigt, ob die neue Klasse im Ordner App_Code abgelegt werden soll. Klicken Sie auf Ja.
Hinweis: Tests können nicht aus Code einer ASPX-Datei oder in einem anderen Ordner als App_Code generiert werden.
Generieren Sie einen ASP.NET-Komponententest. Wenn die Datei der neuen Klasse nicht geöffnet ist, doppelklicken Sie im Projektmappen-Explorer darauf.
Klicken Sie mit der rechten Maustaste auf die Klasse in der Klassendatei, und klicken Sie dann auf Komponententests erstellen.
Das Dialogfeld Komponententests erstellen wird angezeigt. Informationen zum Verwenden dieses Dialogfelds für das Generieren von Komponententests finden Sie unter Gewusst wie: Generieren eines Komponententests.
Überprüfen Sie, ob die Klassen, Methoden oder Namespaces ausgewählt sind, für die Sie Tests generieren möchten.
(Optional) Übernehmen Sie die Standardeinstellung Ausgabeprojekt, oder wählen Sie ein neues Projekt aus.
Klicken Sie abschließend auf OK.
Der neue ASP.NET-Komponententest wird einer Datei im Testprojekt hinzugefügt.
Zum Anzeigen des Komponententests öffnen Sie die Testdatei und führen einen Bildlauf nach unten durch. Die Attribute, die zum Ausführen eines Komponententests als ASP.NET-Komponententest notwendig sind, wurden automatisch angegeben. Weitere Informationen zu diesen Attributen finden Sie im folgenden Verfahren, Konfigurieren eines ASP.NET-Komponententests.
Konfigurieren eines ASP.NET-Komponententests
Ein vorhandener Komponententest kann durch Konfiguration in einen ASP.NET-Komponententest umgewandelt werden. Dazu werden bestimmten benutzerdefinierten Attributen des Tests Werte zugewiesen. Diese Werte werden in der Codedatei festgelegt, die den Komponententest enthält.
Vor dem Festlegen der benutzerdefinierten Attribute sollten Sie zuerst dem Namespace, der die benutzerdefinierten Attribute unterstützt, einen Verweis hinzufügen. Dabei handelt es sich um den Microsoft.VisualStudio.TestTools.UnitTesting.Web-Namespace. Durch diesen Verweis kann Sie IntelliSense beim Festlegen der Attributwerte unterstützen.
Hinweis Wenn Sie einen ASP.NET-Komponententest generieren, werden diese Attribute automatisch festgelegt.
So konfigurieren Sie einen ASP.NET-Komponententest
Öffnen Sie die Codedatei, die den Komponententest enthält.
Legen Sie die folgenden Attribute für den Komponententest fest:
[TestMethod]
Da alle Komponententests das [TestMethod]-Attribut erfordern, existiert dieses Attribut bereits.
[UrlToTest()]
Dies ist die URL, die bei Ausführung dieses Komponententests getestet wird. Beispiel: [UrlToTest("https://localhost/WebSites/Default.aspx")]
[HostType()]
Verwenden Sie [HostType(“ASP.NET”)]. Tests werden üblicherweise unter dem VSTest-Hostprozess ausgeführt. ASP.NET-Komponententests müssen dagegen unter dem ASP.NET-Hostprozess ausgeführt werden.
Beispiele
Beispiel 1: Wenn Ihre Website mit ASP.NET Development Server ausgeführt wird, sehen die Attribute und Werte, die Sie für einen ASP.NET-Komponententest angeben, möglicherweise folgendermaßen aus:
[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("https://localhost:25153/WebSite1")]
[AspNetDevelopmentServerHost("D:\\Documents and Settings\\user name\\My Documents\\Visual Studio 2005\\WebSites\\WebSite1", "/WebSite1")]
Beispiel 2: Verwenden Sie zum Testen einer Website, die unter IIS ausgeführt wird, ausschließlich die Attribute TestMethod, HostType und UrlToTest:
[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("https://localhost:25153/WebSite1")]
Konfigurieren von ASP.NET-Komponententests mithilfe einer Testlaufkonfiguration
In einer Testlaufkonfiguration können Einstellungen vorgenommen werden, die den von ASP.NET-Komponententests verwendeten Attributen entsprechen. Wenn diese Attribute in einer Testlaufkonfiguration angegeben wurden, werden die Einstellungen bei Ausführung eines ASP.NET-Komponententests immer angewendet, wenn diese Testlaufkonfiguration aktiv ist.
Hinweis: |
---|
Es kann jeweils nur ein Satz Einstellungen für ASP.NET-Komponententests aktiv sein: Testlaufkonfigurationseinstellungen oder Attributeinstellungen, jedoch nicht beide zusammen. Testlaufkonfigurationseinstellungen haben Priorität vor vorhandenen Attributen. Dies bedeutet, dass bei Angabe einer einzigen ASP.NET-Einstellung in einer Testlaufkonfiguration alle als Attribut angegebenen ASP.NET-Einstellungen ignoriert werden. |
So konfigurieren Sie ASP.NET-Komponententests mithilfe einer Testlaufkonfiguration
Öffnen Sie eine Testlaufkonfigurationsdatei. Weitere Informationen finden Sie unter Gewusst wie: Angeben einer Testlaufkonfiguration.
Legen Sie auf der Seite Hosts den Hosttyp auf ASP.NET fest.
Dadurch werden weitere Optionen angezeigt, die zum Teil Attributen entsprechen, die in Code angegeben werden können, z. B. Zu testender URL. Diese Attribute werden im vorangegangenen Verfahren beschrieben ("Konfigurieren eines ASP.NET-Komponententests").
Wenn Sie die gewünschten Einstellungen der Werte auf der Seite Hosts vorgenommen haben, klicken Sie auf Speichern und anschließend auf OK.
Siehe auch
Aufgaben
Gewusst wie: Angeben einer Testlaufkonfiguration
Gewusst wie: Übernehmen einer Testlaufkonfiguration
Konzepte
Übersicht über ASP.NET-Komponententests