Wenn ich versuche, meine MVC 2-Controller zu testen, habe ich eine harte Zeit, das Ergebnis von TempData
zu testen, wenn ich eine Umleitung mache. Es funktioniert, wenn das Ergebnis der Controller-Aktion ein ist, jedoch in einer Weiterleitung RedirectToRouteResult
ist.Wie kann ich testen, ob TempData in MVC 2 gesetzt ist, wo es eine Weiterleitung gibt?
So ist mein Test etwas wie folgt aus:
var controller = new SubscriptionController(this.dataStorageMock.Object)
{
ControllerContext = MvcMockHelpers.GetControllerContextMock("POST")
};
var actionResult = controller.Create(formCollection);
var redirectResult = (RedirectToRouteResult)actionResult;
// TODO: Need to ensure TempData contains a key "info".
Eine Möglichkeit ist, die folgendes zu tun:
Assert.That(controller.TempData.ContainsKey("info"));
Wenn das Ergebnis ein ViewResult
war es so getestet worden sein könnte:
Gibt es eine Möglichkeit, RedirectToRouteResult
auf die gleiche Weise wie diezu testenkann getestet werden?
Dank
Ich hoffte auf eine Möglichkeit, den resultierenden Effekt (wie 'ViewResult') anstelle der Eigenschaft set zu sehen. Wenn es keinen Weg gibt, dann denke ich, dass es keinen Weg gibt. – Nathan
controller.TempData ["info"]. –