Frage

Ich frage mich, wie die Menschen zur Zeit ihre Daten Zurücksetzen / Reinigung Testreste für ihre WatiN / Wartir Tests?

Zum Beispiel kann sagen, es ist ein Test einen Benutzer in das System hinzuzufügen, und der Benutzername muss eindeutig sein. Offensichtlich ist der erste Lauf ohne Benutzer sollte gut funktionieren, aber der zweite Lauf wird ohne manuellen Eingriff nicht.

War es hilfreich?

Lösung

Es gibt ein paar Strategien, die Sie dies tun könnte, ich gehe davon aus, dass Sie WatiN verwenden, mit Nunit oder VS Unit-Tests Ihre Tests auszuführen.

Verwenden Transaktionen Ein Ansatz, der verwendet wird, wenn Unit-Tests sind, dass Sie „wrap“ die gesamte Prüfung in einer Transaktion und bei Beendigung des Tests die Transaktion rückgängig zu machen. In .net können Sie System.Transactions für diese.

Erstellen Sie eine "Stub-Seite" Erstellen Sie eine Seite in Ihrem applicaiton, die die bestehende Geschäftslogik verwendet Ihre Daten zu löschen. Diese Seite müßte gesichert werden und im Idealfall nicht einmal in der Produktion eingesetzt. Dies ist der Ansatz, den ich empfehlen würde.

Rufen Sie einen Web-Service Entwickeln Sie einen Web-Service, oder rufen Sie eine direkt aus der App Stufe des applicaiton den Lösch auszuführen. Sie werden wahrscheinlich diese auch entwickeln müssen.

Bereinigen direkt Baue ein paar Klassen in Ihrem Testcode auf die Daten zugreifen und reinigen Sie ihn auf.

Mit einer dieser Punkte werden Sie zur Reinigung benötigen, bevor und nachdem Sie Ihren Test ausführen, das heißt in den Testaufbau und Testreinigungsmethoden. Der Grund, es zu tun, doppelt so groß ist, dass Sie sollten davon ausgehen, dass Ihr Test ausgefallen ist und nicht properley gereinigt.

Verwenden Sie Linq to SQL AFAIK, wenn Sie Linq to SQL verwenden, funktioniert es im Speicher und wickelt die gesamte Aktualisierung in einer Transaktion automatisch für Sie. Wenn Sie rufen Sie einfach nicht den SubmitChanges (); Verfahren dann sollten Sie in Ordnung sein, aber ich habe das nicht selbst getestet.

Andere Tipps

Ich habe einen Entwickler macht ein Skript gefragt, die Datenbank zurückgesetzt. Nach einer Reihe von Tests, nenne ich das Skript gerade und saubere Datenbank starten.

Mike - Ihre Frage ist für Watir / WatiN nicht eindeutig. Es gilt für jede UI-Tests, so suchen um nach ähnlichen Lösungen für Selen, Windmühle, und auch ohne Kopf Integrationstests (Htmlunit, API-Tests, etc.). Ich habe diese Frage ein paar Mal persönlich auf Stackoverflow beantwortet.

WatiN ist für UI-Tests.

Um das Szenario, das Sie suchen zu testen, können Sie Benutzer-ID mit der c # -Code generieren, die es einzigartig machen wird (gegenüber der Art und Weise gespeichert, wenn Sie den Test erstellt).

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