Freigeben über


Überprüfen von Datenbankcode mithilfe von SQL Server-Komponententests

Sie können SQL Server-Komponententests verwenden, um einen Basisplanstatus für Ihre Datenbank einzurichten und dann alle nachfolgenden Änderungen zu überprüfen, die Sie an Datenbankobjekten vornehmen.

Zum Einrichten eines Basisplanstatus für eine Datenbank erstellen Sie ein Testprojekt und schreiben Sätze von Transact-SQL, die für Ihre Datenbankobjekte ausgeführt werden. Mithilfe dieser Tests können Sie in einer isolierten Entwicklungsumgebung überprüfen, ob diese Objekte erwartungsgemäß funktionieren. SQL Server-Komponententests funktionieren gut in Kombination mit der Offlinedatenbankentwicklung mithilfe von SQL Server-Datenbankprojekten. Weitere Informationen: Was sind SQL-Datenbankprojekte?. Sobald Sie über einen Basissatz von SQL Server-Komponententests verfügen, können Sie diese Tests verwenden, um zu überprüfen, ob die Datenbank ordnungsgemäß funktioniert, bevor Sie Änderungen an der Versionssteuerung überprüfen.

Sie können Tests erstellen, mit denen Änderungen an einem beliebigen Datenbankobjekt überprüft werden. Darüber hinaus können Sie automatisch Stubs von Transact-SQL Code generieren, der Datenbankfunktionen, Trigger und gespeicherte Prozeduren testet.

Hinweis

Sie können SQL Server-Komponententests erstellen und ausführen, ohne ein Datenbankprojekt geöffnet zu haben. Wenn Sie jedoch Testskripts automatisch generieren möchten, um bestimmte Datenbankobjekte aus Ihrem Projekt zu testen, müssen Sie das Datenbankprojekt öffnen, das die zu testden Objekte enthält.

Wenn Sie oder Ihre Teammitglieder das Datenbankschema ändern, können Sie diese Tests verwenden, um zu überprüfen, ob die Änderungen vorhandene Funktionen beschädigt haben. Sie erstellen SQL Server-Komponententests, um die Von Ihren Softwareentwicklern erstellten Softwareeinheitstests zu ergänzen. Sie müssen beide Testgruppen ausführen, um das Gesamtverhalten Ihrer Anwendung zu überprüfen.

Ihre Komponententests können überprüfen, ob die Prozeduren erfolgreich sind, wenn sie voraussichtlich erfolgreich sind und dass Prozeduren fehlschlagen, wenn erwartet wird, dass sie fehlschlagen. Tests, bei denen gezielte Fehler auftreten, werden als negative Tests bezeichnet.

Visual Studio-Editionenunterstützung für SQL Server-Komponententests

Das Feature für SQL Server-Komponententests, das im Update von SQL Server Data Tools vom Dezember 2012 hinzugefügt wurde, ermöglicht Ihnen das Erstellen, Ändern und Ausführen von SQL Server-Komponententests in Visual Studio 2010 Professional und Visual Studio 2012 Professional und höheren Editionen.

Um sicherzustellen, dass Sie das neueste UPDATE für SQL Server-Datentools installieren, greifen Sie auf das Dialogfeld "Auf Updates überprüfen" zu.

Die integrierte SQL Server Data Tools-Shell von Visual Studio 2010 und Visual Studio 2012 unterstützt keine SQL Server-Komponententests.

Allgemeine Aufgaben

In der folgenden Tabelle finden Sie Beschreibungen allgemeiner Aufgaben, die dieses Szenario unterstützen, und links zu weiteren Informationen dazu, wie Sie diese Aufgaben erfolgreich abschließen können.

Allgemeine Aufgaben Hilfreiche Themen
Praktische Übung: Sie können einer einführenden exemplarischen Vorgehensweise folgen, um sich mit dem Erstellen und Ausführen eines einfachen SQL Server-Komponententests vertraut zu machen. Diese Anleitung beinhaltet ein Beispiel für einen negativen SQL Server-Komponententest. Exemplarische Vorgehensweise: Erstellen und Ausführen eines SQL Server-Komponententests
Definieren von SQL Server-Komponententests: Sie müssen SQL Server-Komponententests in ihrem eigenen Projekt erstellen. Sie konfigurieren die Einstellungen für dieses Projekt und definieren eine oder mehrere Testbedingungen für jeden Test. Erstellen und Definieren von SQL Server-Komponententests

Verwenden von Testbedingungen in SQL Server-Komponententests
Ausführen von SQL Server-Komponententests: Nachdem Sie einen oder mehrere Komponententests definiert haben, führen Sie sie aus, debuggen alle Probleme und untersuchen die Testergebnisse. Ausführen von SQL Server-Komponententests
Verwalten von Testgruppen (Visual Studio 2010): Sie können Tests in Gruppen organisieren, wenn sie in der Regel gleichzeitig ausgeführt werden sollen. Testlisten werden weiterhin unterstützt, aber für neue Testgruppen sollten Sie stattdessen Testkategorien in Betracht ziehen. Sie können beispielsweise eine Testkategorie für die Tests für Ihre Trigger oder für alle Objekte in einem bestimmten Schema erstellen. Definieren von Testkategorien zum Gruppieren ihrer Tests

Definieren von Testlisten zum Gruppieren ihrer Tests
Überprüfen Sie Ihre Testprojekte und Tests in der Versionsverwaltung: Nachdem Sie Ihre Tests ausgeführt und überprüft haben, ob sie ordnungsgemäß funktionieren, sollten Sie Ihr Testprojekt und alle zugehörigen Dateien in der Versionssteuerung überprüfen, damit alle Mitglieder Ihres Teams Ihre Tests ausführen können. Indem Sie Ihr Testprojekt zusammen mit Ihrem SQL Server-Datenbankprojekt in die Versionssteuerung überprüfen, können Sie kompatible Versionen sowohl der Datenbank als auch der Datenbanktests problemlos wiederherstellen. Hinzufügen von Dateien zur Versionssteuerung

Verwendung der Fenster "CheckIn" und "Ausstehende Änderungen"
Definieren von benutzerdefinierten Testbedingungen: Sie können benutzerdefinierte Testbedingungen erstellen, wenn Sie das Verhalten testen müssen, das der Standardsatz von Testbedingungen nicht abdeckt. Sie müssen diese Bedingungen an alle Mitglieder Ihres Teams verteilen, die die Tests ausführen möchten, die die neuen Bedingungen verwenden. Szenario: Definieren von benutzerdefinierten Testbedingungen für SQL Server-Komponententests
Vorhandene Komponententests aktualisieren: Wenn Sie Über Datenbankeinheitstests verfügen, die in einer früheren Version von Visual Studio erstellt wurden, müssen Sie sie aktualisieren, bevor sie erstellt und mit dieser Version erfolgreich ausgeführt werden.

ANMERKUNG: Wenn Sie eine Projektmappe öffnen, die sowohl ein Datenbankprojekt als auch ein Datenbankeinheitstestprojekt aus einer früheren Version von Visual Studio enthält, werden Sie aufgefordert, das Datenbankprojekt zu aktualisieren. Sie werden nicht aufgefordert, Testprojekte für Datenbankeinheiten zu aktualisieren, die manuell aktualisiert werden müssen.
Upgrade eines älteren Testprojekts mit Datenbankeinheitstests
Dehnbarkeit: Sie können SQL Server-Datentools erweitern, indem Sie Featureerweiterungen erstellen. Benutzerdefinierte Testbedingungen für SQL Server-Komponententests
Behandeln von Problemen: Weitere Informationen zur Problembehandlung allgemeiner Probleme mit SQL Server-Komponententests finden Sie hier. Behandeln von Problemen mit SQL Server-Datenbankeinheitstests