Es gibt ein paar Strategien, die Sie dafür tun könnten, ich gehe davon aus, dass Sie WatiN verwenden, mit Nunit oder VS Unit Tests, um Ihre Tests durchzuführen.
Verwenden Transaktionen Ein Ansatz, der verwendet wird, wenn Testeinheit ist, dass Sie „wrap“ die gesamte Prüfung in einer Transaktion und bei Beendigung des Testrollback die Transaktion. In .net können Sie hierfür System.Transactions verwenden.
Erstellen Sie eine "Stub-Seite" Erstellen Sie eine Seite in Ihrer Anwendung, die die vorhandene Geschäftslogik verwendet, um Ihre Daten zu löschen. Diese Seite müsste gesichert und idealerweise nicht einmal in der Produktion eingesetzt werden. Dies ist der Ansatz, den ich empfehlen würde.
Einen Webdienst anrufen Entwickeln Sie einen Webdienst oder rufen Sie einen direkt aus der App-Ebene der Anwendung an, um das Löschen durchzuführen. Sie müssen das wahrscheinlich auch entwickeln.
Aufräumen direkt Erstellen Sie einige Klassen in Ihrem Testcode, um auf die Daten zuzugreifen und sie zu bereinigen.
Mit jeder dieser müssen Sie aufzuräumen, vor und nach dem Sie Ihren Test, d. H. In den Test-Setup-und Test Cleanup-Methoden. Der Grund, es zweimal zu tun, ist, dass Sie davon ausgehen sollten, dass Ihr Test fehlgeschlagen ist und nicht richtig gereinigt wurde.
Verwenden Sie Linq zu Sql AFAIK Wenn Sie Linq zu SQL verwenden, arbeitet es In-Memory und umschließt das gesamte Update in einer Transaktion für Sie automatisch. Wenn Sie einfach nicht SubmitChanges() aufrufen; Methode dann sollte es dir gut gehen, aber ich habe das selbst nicht getestet.
Wie würden Sie mit System.Transations arbeiten, wenn Sie in LinqToSql Transaktionen festschreiben? – Mike737