Ich muss einige T-SQL gespeicherte Prozeduren verstehen und klären, die wichtige Geschäftslogik enthalten. Kennt jemand irgendwelche Tools, Tipps, Tricks oder Hinweise, die für Unit-Tests verwendet werden können, damit ich diese SQL überarbeiten kann, ohne sie zu zerstören?
Antworten
Zu viele Anzeigen?Simon Harriyott schlägt vor, Folgendes zu verwenden TSqlUnit für diese. Hier finden Sie weitere Informationen über seinen Prozess in seinem Blog .
Wenn Sie Zugriff auf die Visual Studio Team System Database Edition haben, dann wird diese mit einer Reihe von Unit-Testing-Tools geliefert, die speziell auf Datenbanken ausgerichtet sind, wie in diesem MSDN-Artikel .
Ich verwende C# für Unit-Tests von gespeicherten Prozeduren - das ist viel effizienter als T-SQL. Der erste Link erklärt, wie man schnell Unit-Tests erstellen kann.
Schließen Sie die Schlupflöcher - Testen gespeicherter Prozeduren
Schließen Sie diese Schlupflöcher - Testen von Datenbankmodifikationen
Für Hilfe zum Refactoring selbst (im Gegensatz zum Testen, damit Sie refactoring durchführen können), lesen Sie bitte auch Refactoring von Datenbanken (entweder das Buch oder die Website).
Ich habe Tests für gespeicherte Prozeduren mit dem aufrufenden Code geschrieben (in meinem Fall Java mit dbunit), aber ich weiß nicht, wie es im Vergleich zu anderen Methoden wäre.
Warum müssen Sie refaktorisieren?
Fügen Sie eine Reihe von PRINT-Anweisungen hinzu und führen Sie sie manuell über das Management Studio aus. Wenn Sie die richtigen Informationen ausdrucken, sollten Sie in der Lage sein, den Code zu verfolgen und zu verstehen, was vor sich geht.
Wenn Sie nicht wissen, welche Parameter Sie verwenden sollen, modifizieren Sie es so, dass die Eingabeparameter in eine Protokolldatei gesendet werden, und verwenden Sie diese dann, um es manuell auszuführen.