Freigeben über


Verwenden von T-SQL-Assertionen in Datenbankkomponententests

Aktualisiert: November 2007

Bei einem Datenbankkomponententest wird ein Transact-SQL (T-SQL)-Testskript ausgeführt, das ein Ergebnis zurückgibt. Manchmal werden die Ergebnisse als Resultset zurückgegeben. Sie können die Ergebnisse mithilfe von Testbedingungen überprüfen. Sie können z. B. mithilfe einer Testbedingung überprüfen, wie viele Zeilen in einem bestimmten Resultset zurückgegeben wurden oder wie lange die Ausführung eines bestimmten Tests gedauert hat. Weitere Informationen zu Testbedingungen finden Sie unter Verwenden von Testbedingungen in Datenbankkomponententests.

Anstelle von Testbedingungen können Sie auch T-SQL-Assertionen verwenden, bei denen es sich um RAISERROR-Anweisungen in einem T-SQL-Skript handelt. In bestimmten Situationen möchten Sie möglicherweise eine T-SQL-Assertion anstelle einer Testbedingung verwenden.

Verwenden von T-SQL-Assertionen

Sie sollten die folgenden Punkte berücksichtigen, bevor Sie entscheiden, ob Sie die Daten mit T-SQL-Assertionen oder mit Testbedingungen überprüfen.

  • Leistung. Die Ausführung einer T-SQL-Assertion auf dem Server ist schneller, als zunächst die Daten auf einen Clientcomputer zu verschieben und dann lokal zu bearbeiten.

  • Vertrautheit mit der Sprache. Sie bevorzugen entsprechend Ihren Erfahrungen möglicherweise eine bestimmte Sprache und entscheiden sich daher für T-SQL-Assertionen oder C#- bzw. Visual Basic-Testbedingungen.

  • Komplizierte Validierung. In einigen Fällen können Sie eine komplexere Testvalidierung in C# oder Visual Basic erstellen und dann die Tests auf dem Client validieren.

  • Vorhandene Validierungsbibliotheken. Wenn Sie bereits über Code für die Validierung verfügen, können Sie diesen in einem Datenbankkomponententest anstelle von Testbedingungen verwenden.

Die RAISERROR-Anweisung

Sie können T-SQL-Assertionen direkt auf dem Server verwenden, indem Sie im T-SQL-Skript die RAISERROR-Anweisung verwenden. Die Syntax lautet:

**RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState)**

Dabei gilt:

@ErrorMessage ist eine beliebige benutzerdefinierte Fehlermeldung. Sie können diese Meldungszeichenfolge wie die printf_s-Funktion formatieren.

@ErrorSeverity ist ein benutzerdefinierter Schweregrad zwischen 0 und 18.

Hinweis:

Die Werte 0 und 10 für den Schweregrad führen nicht zu einem Fehler beim Datenbankkomponententest. Mithilfe anderer Werte zwischen 0 und 18 können Sie einen Testfehler auslösen.

@ErrorState ist eine beliebige Ganzzahl zwischen 1 und 127. Sie können mithilfe dieser Ganzzahl zwischen dem Auftreten eines bestimmten Fehlers unterscheiden, der an verschiedenen Stellen im Code ausgelöst wird.

Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter "RAISERROR (Transact-SQL)" (https://go.microsoft.com/fwlink/?LinkId=66014). Ein Beispiel für die Verwendung von RAISERROR in einem Datenbankkomponententest finden Sie im Thema Gewusst wie: Schreiben eines Datenbankkomponententests, der innerhalb des Bereichs einer einzelnen Transaktion ausgeführt wird.

Siehe auch

Aufgaben

Gewusst wie: Öffnen eines Datenbankkomponententests zum Bearbeiten

Konzepte

Verwenden von Testbedingungen in Datenbankkomponententests

Übersicht über die Terminologie der Database Edition

Weitere Ressourcen

Übersicht über Datenbankkomponententests