Ich weiß, es gibt Möglichkeiten, SQL Server "Komponententests" zu automatisieren. Aber meine Frage ist etwas anders.Automatisierte SQL Server Unit Testing
Bei der Validierung von Anforderungen schreiben wir eine Reihe von SQL-Skripten, die im Erfolgsfall nichts zurückliefern.
Also im Grunde wie seine
- Abfrage ausführen
- eine weitere Abfrage ausführen
- Run SSIS Paket
- Abfrage ausführen.
Und Beispiel mit einem wenig mehr Kontext
Anforderung # 1 Beschreibung: Show SO mein Problem
- Abfrage zu überprüfen, ob Zieltabelle vorhanden und leer
- Abfrage ist, wenn die Quelle überprüfen Tabelle existiert und hat Daten
- Führen Sie ETL SSIS-Paket
- Abfrage Überprüfen Sie, dass die Daten korrekt übertragen
- Abfrage Geschäftsregeln
Wir haben einen Weg gefunden zu behaupten gefunden, diesen Prozess zu automatisieren, indem ein benutzerdefiniertes Programm zu analysieren, durch Ausführen von SQL-Abfragen, Last notwendige Daten, führten SSIS-Pakete zu schreiben, usw. und dann berichten, wenn wir ein Ergebnis (das einen Testfehler anzeigt).
Das scheint wie ein Rad neu zu erfinden ... aber ich konnte nichts dergleichen finden. Besonders eines, das in SSIS integriert ist.
EDIT:
Jemand schlug vor, SSISunit, und es gibt zu keiner Dokumentation es wenig. Wenn wir SSIS-Einheit verwenden, ist es eher wie der Setup-Prozess Assert, dass die erforderlichen Bedingungen bestehen, Schritte 1 & 2 oben? Ich habe immer gedacht, dass Setup-Prozesse keine Validierung durchführen?
Ich denke, was wir versuchten zu erreichen ist, gibt es eine endliche Reihe von Aufgaben, wir wollten eine Möglichkeit, nur "Skripte" ausführen, die sich auf eine Anforderung beziehen. In Ihrem Fall hätten wir ein SSIS-Paket pro Anforderung? Versus ein System, das Eingaben analysiert und bestätigt, dass die Tests bestanden haben. Ist das sinnvoll? – Nix
Oh ja, ich verstehe was du meinst. Hmmm... – Sam
Ich nehme an, Sie könnten einen benutzerdefinierten Code schreiben, um eine Tabelle von Schritten zu durchlaufen und das darin enthaltene sql-Kommando oder ssis-Paket mit DTEXEC und SQLCMD auszuführen. – Sam