Когда я пытаюсь протестировать мои контроллеры MVC 2, мне трудно проверить результат TempData
, когда я делаю перенаправление. Это работает нормально, если результатом действия контроллера является ViewResult
, однако при перенаправлении оно RedirectToRouteResult
.
Итак, мой тест выглядит примерно так:
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".
Один из вариантов - сделать следующее:
Assert.That(controller.TempData.ContainsKey("info"));
Если бы результат был ViewResult
, его можно было бы проверить следующим образом:
var viewResult = (ViewResult)actionResult;
Assert.That(viewResult.TempData.ContainsKey("info"));
Есть ли способ проверить RedirectToRouteResult
так же, как можно проверить ViewResult
?
Спасибо