相关疑难解决方法(0)

ASP.NET MVC - 使用Moq框架对RenderPartialViewToString()进行单元测试?

我正在使用这个帮助方法将我的PartialViewResult转换为字符串并将其作为Json返回 - http://www.atlanticbt.com/blog/asp-net-mvc-using-ajax-json-and-partialviews/

我的问题是我使用Moq来模拟控制器,每当我运行使用这个RenderPartialViewToString()方法的单元测试时,我得到了"对象引用未设置为对象的实例".ControllerContext上的错误.

private ProgramsController GetController()
{
var mockHttpContext = new Mock<ControllerContext>();
mockHttpContext.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("test");
mockHttpContext.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);
// Mock Repositories
var mockOrganizationRepository = new MockOrganizationRepository(MockData.MockOrganizationsData());
var mockIRenderPartial = new BaseController();
var controller = new ProgramsController(mockOrganizationRepository, mockIRenderPartial);
controller.ControllerContext = mockHttpContext.Object;
return controller;
}
Run Code Online (Sandbox Code Playgroud)

这会返回一个代理控制器,也许这就是我收到该错误的原因.知道如何进行单元测试吗?

非常感谢你.

asp.net-mvc unit-testing moq asp.net-mvc-2

6
推荐指数
1
解决办法
3539
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-2 ×1

moq ×1

unit-testing ×1