Hallo zusammen,
ich würde gerne UnitTests für Methoden schreiben, die auf Page.IsPostBack prüfen. Für eine bessere Code-Coverage wäre es super wenn ich beide Fälle durchlaufen kann. Leider habe ich noch keinen Weg gefunden um per Code die Page.IsPostBack eigenschaft zu verändern. Ich bin schon mittels Mono.Reflection drauf los gegangen. Hat alles nichts gebracht. Hat jemand hier vielleicht eine Idee wie man soetwas testen kann?
MfG
wax
Naja WebForms ist einfach keine Technologie, mit der Unit-Tests out of the Box funktionieren. Das ist auch in dieser Hinsicht das größte Plus für MVC: es ist 100%tig testbar.
Manche Bereiche bei WebForms werden auch als "untestbar" definiert.
Dir bleibt aber die Möglichkeit die komplette Logik auszulagert und hier manuell zu testen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo Wax
Die Logik auslagern wird mühsam sein.
Bis zu einem gewissen Grad hast du sicher schon gekapselt und ausgelagert, nehme ich an.
Page.IsPostBack ist eine statische Eigenschaft. Es soll Mocking-Tools geben, die solche ändern können, was ich aber nicht getestet habe.
Eine Möglichkeit wäre, dass du auf Page.IsPostBack nicht direkt zugreifst, sondern über eine Eigenschaft einer deiner Klassen. Diese kannst du für den Test manipulieren und sonst Page.IsPostBack zurückgeben.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011