Verwenden von Testbedingungen in Datenbankkomponententests
Aktualisiert: November 2007
Im Rahmen eines typischen Datenbankkomponententests führt ein Transact-SQL (T-SQL)-Testskript eine Instanz der ExecutionResult-Klasse aus und gibt diese zurück. Die Instanz dieser Klasse enthält ein DataSet, die Ausführungszeit sowie die Zeilen, auf die sich das Skript auswirkt. All diese Informationen werden während Ausführung des Skripts gesammelt. Die Ergebnisse können im T-SQL-Skript mit der RAISERROR-Funktion oder mit Testbedingungen ausgewertet werden. Visual Studio Team System Database Edition stellt eine Reihe vordefinierter Testbedingungen zur Verwendung bereit.
Vordefinierte Testbedingungen
Die folgende Tabelle enthält die vordefinierten Testbedingungen, die Sie mit dem Bereich Testbedingungen im Datenbankkomponententest-Designer hinzufügen können.
Testbedingung |
Beschreibung der Testbedingung |
---|---|
ResultSet ist leer |
Generiert einen Fehler, wenn das vom T-SQL-Skript zurückgegebene Resultset nicht leer ist. |
Ausführungszeit |
Generiert einen Fehler, wenn die Ausführung des T-SQL-Testskripts länger als angenommen dauert. Die Standardausführungszeit beträgt 30 Sekunden. Diese Ausführungszeit gilt nur für das Testskript, nicht jedoch für das Vor- oder Nachtestskript. |
Nicht eindeutig |
Erzeugt immer einen Test mit dem Ergebnis Nicht eindeutig. Dies ist die Standardbedingung, die jedem Test hinzugefügt wird. Diese Testbedingung wird eingeschlossen, um anzugeben, dass die Testüberprüfung nicht implementiert wurde. Löschen Sie diese Testbedingung aus dem Test, nachdem Sie weitere Testbedingungen hinzugefügt haben. |
ResultSet ist nicht leer |
Generiert einen Fehler, wenn das Resultset leer ist. Mit dieser Testbedingung oder mit EmptyResultSet und der T-SQL-Funktion @@RAISEERROR im Testskript können Sie überprüfen, ob eine Aktualisierung ordnungsgemäß ausgeführt wurde. Beispielsweise können Sie die Werte vor der Aktualisierung speichern und die Aktualisierung ausführen. Im Anschluss führen Sie einen Vergleich mit den Werten nach der Aktualisierung durch und lösen einen Fehler aus, wenn Sie nicht die erwarteten Ergebnisse erhalten. |
Zeilenanzahl |
Generiert einen Fehler, wenn das Resultset die erwartete Anzahl von Zeilen nicht enthält. |
Skalarwert |
Generiert einen Fehler, wenn ein bestimmter Wert im Resultset nicht dem angegebenen Wert entspricht. Standardmäßig liegt ein Erwarteter Wert von NULL vor. |
![]() |
---|
Mit der Testbedingung Ausführungszeit wird ein Zeitlimit angegeben, innerhalb dessen das T-SQL-Testskript ausgeführt werden muss. Wenn dieses Zeitlimit überschritten wird, schlägt der Test fehl. Die Testergebnisse enthalten auch eine Statistik der Dauer, die sich von der Testbedingung Ausführungszeit unterscheidet. Die Statistik der Dauer enthält neben der Ausführungszeit noch die Zeit für die Herstellung zweier Verbindungen mit der Datenbank, die Ausführungszeit für andere Testskripts wie Vor- und Nachtestskript und die Ausführungszeit für die Testbedingungen. Aus diesem Grund kann ein Test erfolgreich verlaufen, auch wenn die Dauer länger als die Ausführungszeit ist. Die Zeit für die Datengenerierung sowie die Schemabereitstellung sind in der zurückgegebenen Dauer nicht enthalten, da diese Vorgänge vor Ausführung der Tests stattfinden. Um die Testdauer anzuzeigen, wählen Sie im Fenster Testergebnisse einen Testlauf aus, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Testergebnisdetails anzeigen aus |
Sie können Datenbankkomponententests Testbedingungen hinzufügen, indem Sie den Bereich Testbedingungen des Datenbankkomponententest-Designers verwenden. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von Testbedingungen zu Datenbankkomponententests.
Sie können den Code der Testmethode auch direkt bearbeiten, um weitere Funktionen hinzuzufügen. Weitere Informationen finden Sie unter Anpassen von Datenbankkomponententests in Visual Basic oder Visual C#. Beispielsweise können Sie die Funktionen einer Testmethode durch Hinzufügen von Assert-Anweisungen erweitern. Weitere Informationen finden Sie unter Verwenden von T-SQL-Assertionen in Datenbankkomponententests.
Erweiterbare Testbedingungen
Neben den sechs vordefinierten Testbedingungen können Sie zusätzlich eigene Testbedingungen erstellen. Diese werden im Bereich Testbedingungen des Datenbankkomponententest-Designers angezeigt. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen einer Testbedingung im Datenbankkomponententest-Designer.
Siehe auch
Konzepte
Verwenden von T-SQL-Assertionen in Datenbankkomponententests