如何在ASP.NET MVC中测试自定义模型绑定器?
发布时间:2020-05-23 15:10:18 所属栏目:asp.Net 来源:互联网
导读:我在ASP.NET MVC应用程序中编写了一些自定义模型绑定器(实现IModelBinder)。我想知道什么是一个好的方法来对它们进行单元测试(binder)? 我这样做: var formElements = new NameValueCollection() { {FirstName,Bubba}, {MiddleName, }, {LastName, Gump} };
|
我在ASP.NET MVC应用程序中编写了一些自定义模型绑定器(实现IModelBinder)。我想知道什么是一个好的方法来对它们进行单元测试(binder)? 解决方法我这样做:var formElements = new NameValueCollection() { {"FirstName","Bubba"},{"MiddleName",""},{"LastName","Gump"} };
var fakeController = GetControllerContext(formElements);
var valueProvider = new Mock<IValueProvider>();
var bindingContext = new ModelBindingContext(fakeController,valueProvider.Object,typeof(Guid),null,null);
private static ControllerContext GetControllerContext(NameValueCollection form) {
Mock<HttpRequestBase> mockRequest = new Mock<HttpRequestBase>();
mockRequest.Expect(r => r.Form).Returns(form);
Mock<HttpContextBase> mockHttpContext = new Mock<HttpContextBase>();
mockHttpContext.Expect(c => c.Request).Returns(mockRequest.Object);
return new ControllerContext(mockHttpContext.Object,new RouteData(),new Mock<ControllerBase>().Object);
}
然后我刚刚将bindingContext变量传递给实现IModelBinder接口的对象的BindModel方法。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- azure – 获取#error = unsupported_response_typeerror_de
- asp.net – 元素 system.webServer’有无效的child元素’re
- asp.net-mvc-2 – ::%:和%=与嵌套代码(表达式)块相同的
- asp.net-mvc-3 – “字段宽度必须是数字.”在客户端
- asp.net-mvc – 如何在asp.net mvc中的url中添加页面标题?
- 文件上传 – 以经典的asp上传文件
- asp.net-mvc – 什么是AsyncManager.OutstandingOperations
- asp.net – 我们可以在网页中使用多种形式吗?
- asp.net-mvc – 带有实体框架的ASP.NET MVC
- asp.net – App_Data文件夹中的图像未显示在浏览器中
推荐文章
站长推荐
- 如何在ASP.NET Core MVC 6中强制执行小写路由?
- asp.net – 如何正确地大写希腊字在.NET?
- asp.net – 从URLReferrer获取querystring
- 为什么我不能在ASP.net MVC中使用服务器控件?
- asp-classic – 检查VBScript中是否存在Object
- asp.net-core – 访问Raw Request Body
- asp.net-mvc – ASP.NET MVC获取下拉列表值
- ASP.NET MVC 3 – 处理多个域并共享单个代码库
- asp.net – 在Response.Redirect之后获取上一页网
- 如何单元测试我的asp.net-mvc控制器的OnActionEx
热点阅读
