Überprüfen des Datenbankcodes mithilfe von SQL Server-Komponententests

 

Sie können die SQL Server-Komponententests verwenden, um einen Baselinezustand für die Datenbank festzulegen und anschließend alle nachfolgenden Änderungen zu überprüfen, die an Datenbankobjekten vorgenommen werden.

Um einen Baselinezustand für eine Datenbank herzustellen, erstellen Sie ein Testprojekt und schreiben Transact-SQL-Codesätze, die für Datenbankobjekte ausgeführt werden.Mithilfe dieser Tests können Sie in einer isolierten Entwicklungsumgebung überprüfen, ob Ihre Objekte wie erwartet funktionieren.SQL Server-Komponententests funktionieren in Kombination mit Offline-Datenbankentwicklung mithilfe von SQL Server-Datenbankprojekten gut (weitere Informationen finden Sie unter Projektorientierte Offlinedatenbankentwicklung).Sobald Sie über einen Baselinesatz von SQL Server-Komponententests verfügen, können Sie mithilfe der Tests überprüfen, ob die Datenbank funktionsfähig ist, bevor Sie Änderungen in die Versionskontrolle einchecken.

Sie können Tests erstellen, durch die Änderungen an beliebigen Datenbankobjekten überprüft werden.Darüber hinaus können Sie automatisch Transact-SQL-Codestubs zum Testen von Datenbankfunktionen, Triggern und gespeicherten Prozeduren generieren.

System_CAPS_ICON_note.jpg Hinweis


SQL Server-Komponententests können erstellt und ausgeführt werden, ohne dass ein Datenbankprojekt geöffnet ist.Wenn Sie Testskripts zum Testen spezifischer Datenbankobjekte aus dem Projekt jedoch automatisch generieren möchten, müssen Sie das Datenbankprojekt öffnen, in dem die Testobjekte enthalten sind.

Während das Datenbankschema von den Mitgliedern des Teams geändert wird, können Sie anhand dieser Tests überprüfen, ob durch die Änderungen bestehende Funktionen außer Kraft gesetzt wurden.Sie erstellen SQL Server-Komponententests als Ergänzung zu den Softwarekomponententests, die von den Softwareentwicklern erstellt werden.Um das Gesamtverhalten der Anwendung zu überprüfen, müssen beide Testsätze abgeschlossen werden.

Anhand der Komponententests können Sie überprüfen, ob Prozeduren erfolgreich sind, wenn ein erfolgreicher Verlauf erwartet wird, bzw. ob sie fehlschlagen, wenn ein Fehler erwartet wird.Tests, in denen das Auftreten bestimmter Fehler erwartet wird, werden als Negativnachweis bezeichnet.

Mithilfe der SQL Server-Komponententestfunktion, die erstmalig Bestandteil des SQL Server Data Tools-Updates von Dezember 2012 war, können SQL Server-Komponententests in Visual Studio 2010 Professional sowie in Visual Studio 2012 Professional und höheren Editionen erstellt, geändert und ausgeführt werden.

Um sicherzustellen, dass Sie das neueste SQL Server Data Tools-Update installieren, rufen Sie das Nach Updates suchen (Dialogfeld) auf.

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

Die folgende Tabelle enthält Beschreibungen allgemeiner Aufgaben, die dieses Szenario unterstützen. Außerdem finden Sie dort Links zu weiteren Informationen, wie Sie diese Aufgaben erfolgreich ausführen können.

Allgemeine AufgabenHilfreiche Themen
Praktische Erfahrung: Sie können eine allgemeine exemplarische Vorgehensweise durchlaufen, um sich mit der Erstellung und Ausführung eines einfachen SQL Server-Komponententests vertraut zu machen.Diese exemplarische Vorgehensweise enthält ein Beispiel eines negativen SQL Server-Komponententests.Exemplarische Vorgehensweise: Erstellen und Ausführen eines SQL Server-Komponententests
SQL Server-Komponententests definieren: Sie müssen SQL Server-Komponententests in deren eigenem Projekt erstellen.Sie konfigurieren die Einstellungen für das Projekt und legen mindestens eine Testbedingung pro Test fest.Erstellen und Definieren von SQL Server-Komponententests

Verwenden von Testbedingungen in SQL Server-Komponententests
SQL Server-Komponententests ausführen: Nachdem Sie mindestens einen Komponententest definiert haben, können Sie den bzw. die Tests ausführen, Probleme debuggen und die Testergebnisse untersuchen.Ausführen von SQL Server-Komponententests
Testgruppen verwalten (Visual Studio 2010): Sie können Tests in Gruppen organisieren, wenn diese normalerweise gleichzeitig ausgeführt werden sollen.Testlisten werden weiterhin unterstützt, für neue Testgruppen sollten Sie jedoch die Verwendung von Testkategorien erwägen.Beispielsweise können Sie eine Testkategorie erstellen, in der Tests für Trigger oder Tests für alle Objekte in einem bestimmten schema zusammengefasst sind.Definieren von Testkategorien zum Gruppieren von Tests

Definieren von Testlisten zum Gruppieren von Tests
Testprojekte und Tests in die Versionskontrolle einchecken: Nachdem Sie Tests ausgeführt und sichergestellt haben, dass sie ordnungsgemäß funktionieren, sollten Sie das Testprojekt und alle zugehörigen Dateien in die Versionskontrolle einchecken, damit die Tests von allen Teammitgliedern ausgeführt werden können.Indem Sie das Testprojekt zusammen mit dem SQL Server-Datenbankprojekt in die Versionskontrolle einchecken, können Sie auf einfache Weise kompatible Versionen sowohl der Datenbank als auch der Datenbanktests wiederherstellen.Hinzufügen von Dateien zur Versionskontrolle

Verwenden der Fenster "Einchecken" und "Ausstehende Änderungen"
Benutzerdefinierte Testbedingungen definieren: Sie können benutzerdefinierte Testbedingungen erstellen, wenn Sie ein bestimmtes Verhalten testen müssen, das vom Standardsatz der Testbedingungen nicht abgedeckt wird.Diese Bedingungen müssen an alle Teammitglieder verteilt werden, die die Tests mit den neuen Bedingungen ausführen möchten.Szenario. Definieren benutzerdefinierter Testbedingungen für SQL Server-Komponententests
Bestehende Komponententests aktualisieren: Wenn Sie über Datenbankkomponententests verfügen, die in einer Vorgängerversion von Visual Studio erstellt wurden, müssen Sie diese aktualisieren, damit sie in dieser Version erfolgreich erstellt und ausgeführt werden. Note: Wenn Sie eine Projektmappe öffnen, in der sowohl ein Datenbankprojekt als auch ein Datenbankkomponententest-Projekt aus einer Vorgängerversion von Visual Studio enthalten ist, werden Sie aufgefordert, das Datenbankprojekt zu aktualisieren.Sie werden nicht aufgefordert, Datenbankkomponententest-Projekte zu aktualisieren, da sie manuell aktualisiert werden müssen.Upgrade eines älteren Testprojekts, das Datenbankkomponententests enthält
Erweiterbarkeit: Sie können SQL Server Data Tools erweitern, indem Sie Funktionserweiterungen erstellen.Benutzerdefinierte Testbedingungen für SQL Server-Komponententests
Probleme behandeln: Weitere Informationen zur Behandlung allgemeiner Probleme mit SQL Server-Komponententests.Behandeln von Problemen bei SQL Server-Datenbankkomponententests

Projektorientierte Offlinedatenbankentwicklung
Datenbankkomponententests sind besonders wirkungsvoll, wenn sie mit der Offlineprojektentwicklung unter Verwendung von SQL Server-Datenbankprojekten kombiniert werden.

SQL Server Data Tools

Anzeigen: