Подтвердить что ты не робот

Как проверить, установлен ли TempData в MVC 2, где есть перенаправление?

При попытке проверить мои контроллеры 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?

Спасибо

4b9b3361

Ответ 1

Assert.That(controller.TempData.ContainsKey("info")); - это именно то, что вам нужно.