gpt4 book ai didi

unit-testing - 如何测试在有重定向的 MVC 2 中设置的 TempData?

转载 作者:行者123 更新时间:2023-12-04 00:06:15 38 4
gpt4 key购买 nike

在尝试测试我的 MVC 2 Controller 时,我很难测试 TempData 的结果当我进行重定向时。如果 Controller 操作的结果是 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"));

有没有办法测试 RedirectToRouteResultViewResult 相同的方式可以测试吗?

谢谢

最佳答案

Assert.That(controller.TempData.ContainsKey("info"));正是您所需要的。

关于unit-testing - 如何测试在有重定向的 MVC 2 中设置的 TempData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4055397/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com