Frage

Ich fange gerade an, tsqlt innerhalb des SQL-Tests von Redgate zu verwenden.Ich muss mit recht großen Tischen (große Anzahl von Spalten) in einem alten Datenbanken umgehen.Was ist die beste Praxis, um einige gefälschte Daten in solche Tabellen einzufügen (das "Skript als" -Stande-Anweisungen sind recht groß) - daher würden sie mein "ordnungsgemäßes Teil" des Gerätestests buchstäblich nicht lesbar machen.Kann ich einen solchen Code fördern?Gibt es auch eine Möglichkeit, nicht nur die Insert-Anweisung zu script, sondern auch einige Werte automagisch auszufüllen?Vielen Dank.

War es hilfreich?

Lösung

Ich würde mit Ihrem Kommentar einverstanden sein, dass Sie nicht alle Spalten in der Einfügungsanweisung ausfüllen müssen.

tsqlt.faketable Entfernt alle Nicht-Null-Einschränkungen aus den Spalten sowie berechnete Spalten und Identitätsspalten (obwohl diese letzten beiden mit bestimmten Parametern wiederhergestellt werden können, um feaketable zu verwenden).

Sie müssen daher nur die Spalten füllen, die für Ihren Code relevant sind, der in der Regel nur eine kleinere Teilmenge von Säulen aus den Tabellen (S) ist.

Ich habe in Dieser Artikel , der auch ein paar andere" Gotchas "enthält, die Sie auch wissen möchten.

Außerdem würde ich vorschlagen, dass, wenn Sie über eine Reihe von Tests verfügen, die alle in derselben Tabelle gefälscht, und die Daten eingesetzt sind, dass Sie mit einer Setup-Routine in Betracht ziehen - Dies ist ein gespeicherter Verfahren in der Testklasse (Schema), das ist Setup genannt und wird vor jedem Test in diesem Schema von TSQLT aufgerufen. Sie zeigen noch nicht in Redgates SQL-Testfenster (Ich habe es als Verbesserung vorgeschlagen), wird aber noch funktionieren. Dies kann es schwieriger machen, zu sehen - aber modularisiert, dass der Code den identischen, wiederholten Code reduziert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top