Wie kann ich automatisierte Unit-Tests in SSIS-Paketen durchführen?

Wie kann ich SSIS-Pakete testing? Ich möchte in der Lage sein, Unit-Tests für verschiedene Komponenten wie die Workflow-Aufgaben, datafluss-Aufgaben, Event-Handler, etc. zu erstellen und zu pflegen.

Gibt es vorhandene Techniken, Frameworks und / oder Werkzeuge, die verwendet werden können?

ssisUnit

Ein Unit-Test-Framework für SQL server Integration Services

Heutzutage ist ssisUnit nicht aktuell und existiert ein modernes Unit-Test-Framework für SQL server Integration Services mit dem Namen SSISTester.

MSDN Artikel

Nuget

einige Testpraktiken, die ich normalerweise beim Testen von SSIS-Paketen befolge.

Ich teste immer auf Paket-Ebene (es macht in der Regel nicht viel Sinn für mich zu testing auf einem niedrigeren Niveau als dies ….)

Ich habe normalerweise eine Testdatenumgebung mit ziemlich kleinen datasätzen.

Auch ein Testkonfigurationsprofil (configurationsdateien), die auf die Testdatensätze und alle anderen unterschiedlichen Testparameter hinweisen.

Abhängig von der Art des Projekts manchmal auch ich einige database-Backups verwendet werden, um wiederhergestellt werden, wann immer wir wollen, um den Umfeld Anfang Status (oder alle anderen Status im ETL-process) zurücksetzen.

All dies kombiniert in einem guten Satz von Test-Scripts (python, powershell …) ruft die Pakete über dtexec, es ist ein ziemlich nützliches Rezept für mich 😉