Frage

Ich habe eine Klasse erstellt, die system.web.ui.page erbt.

In dieser Klasse überschreibe ich einige Anwendungslebenszyklusereignisse wie Page_load und Page_init. Bevor ich die Basis dieser Ereignisse aufrief, überprüfe ich Sitzungswerte, Cookies und solche Dinge.

Ich möchte die Methoden, die die Sitzungen und Cookies überprüfen, eintest. Ich kann bereits die Sitzungs- und Cookie -Objekte verspotten. Ist es möglich, die Anwendungslebenszyklusereignisse zu testen? Oder ist meine einzige Option, die Klasse vollständig neu zu faktorieren, damit alle Methoden, die aus den Lebenszyklusereignissen aufgerufen werden, in einer separaten Klasse sind?

War es hilfreich?

Lösung

Wenn Sie die relevanten Objekte verspotten können, können Sie einfach die Lebenszyklusmethoden direkt aufrufen. Aber ich weiß nicht, ob das eine gute Idee ist. IMHO, jeder einzelne Lebenszyklus -Ereignis -Handler sollte mehrere Aufgaben ausführen, von denen jeder wahrscheinlich an eine andere Klasse delegiert werden sollte - und es ist dieser Code, den Sie in Einheitenprüfung sein sollten.

Meine persönliche Angewohnheit ist, dass ich Dienstprogramm-/Dienst-/Repository -Code direkt teste und Code in den Lebenszyklusereignissen direkt nur unter den Integrationstests anstelle von Unit -Tests gelasse.

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