被测试的Action 包含 User.Identity.Name 代码,在写测试代码需要Mock ControllerContext对象 代码如下: var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns(userName); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticat…
被测试Action 包含有Url对象的代码: data = new data { title = ds.Name, icon = "folder", attr = new { id = "root", href = Url.Action("ManageDSByLevel", new { levelid = firstlevel.ID }), name = ds.Name }, }, 在进行单元测试时需要Mock Url对象,以顺利通过测试,以下为…
简介 Controller层的单元测试可以使得应用的可靠性得到提升,虽然这使得开发的时间有所增加,有得必失,这里我认为得到的比失去的多很多. Sping MVC3.2版本之后的单元测试方法有所变化,随着功能的提升,单元测试更加的简单高效. 这里以4.1版本为例,记录Controller的单元测试流程.非常值得参考的是Spring MVC Showcase(https://github.com/spring-projects/spring-mvc-showcase),它当前的版本使用的是4.1.0…
// 1.控制器管理器 class ServiceManager implements ServiceLocatorInterface { public function __construct(ConfigInterface $config = null) { if ($config) { $config->configureServiceManager($this); } } } abstract class AbstractPluginManager extends ServiceMana…
关于Spring MVC Controller 层的单元测试 测试准备工作: 1.搭建测试Web环境 2.注入Controller 类 3.编写测试数据 测试数据的文件名一定要与测试类的文件名相同,比如测试数据BeanControllerTest.xml ,测试类 BeanControllerTest. 4.注入测试数据…
1.前言 现在这个项目已经有阶段性的模块完成了,所以就想着对这些模块进行单元测试,以保证项目的代码的质量.首先虽然标题是mvc+webapi实质上我只是对mvc进行的测试.用的时候vs的unit test generator(2015自带).至于它版本的安装和介绍在这不做详细介绍.还有其实我也任务单元测试就是个鸡肋.第一它浪费时间,第二他也不能完全保证我的代码完全没有问题,第三我的测试并不能算到的绩效当中去.所以我把它当做对我一个阶段代码的梳理来对待. 2.单元测试建立 2.1新建单元测试项目…
众所周知 ASP.NET MVC 的一个显著优势即可以很方便的实现单元测试,但在我们测试过程中经常要用到HttpContext,而默认情况下单元测试框架是不提供HttpContext的模拟的,本文通过MOQ框架实现对HttpContext的模拟从而实现更便利的单元测试. 一.Moq框架使用 Moq是一个非常优秀的模拟框架,可以实现对接口成员的模拟,常用在TDD中. 可在此处下载http://code.google.com/p/moq/downloads/list 也可以通过Nuget直接下载.…
ASP.NET MVC之单元测试分分钟的事2014-07-15 13:05 by 书洞里的猫, 550 阅读, 4 评论, 收藏, 编辑 一.为什么要进行单元测试? 大部分开发者都有个习惯(包括本人在内),常常不喜欢去做单元测试.因为我们对自己写的程序总是盲目自信,或者存在侥幸心理每次运行通过后就直接扔给测试组的妹子们了.结果妹子一测,大把大把的bug出现了,最后每每看到测试的妹子走过来,心里就只想说一句话:你是猴子请来的逗比吗?本来想节省时间,结果最后花在找BUG和修复BUG的这些时间加起来已…
关于测试的必要性什么的已经在 重构与测试 里扯过了.倒也没必要说,写的代码多了自然就明白这个东西重要性. 当时说了坐等被推动去学习单元测试来着,然而等着被人推动的结果就是根本就没人来推你.o(∩_∩)o 所以还是自己主动来学,主动来总结了. 可测试性设计基础理论知识 可测试性设计(Design for Testability, DFT)是一种集成电路技术,它将一些特殊结构在设计阶段植入电路,以便设计完成后进行测试. 后来这种玩法被应用到了软件之中.它关注的是在正确的.错误的.丢失的和不完整的输入…
在codeproject看到一篇文章,群里的一个朋友要帮忙我翻译一下顺便贴出来,这篇文章适合新手,也算是对MEF的一个简单用法的介绍. Introduction In a simple statement if I want to define an ASP.NET MVC controller then I can say that classes that are responsible for receiving and processing incoming http requests,…
在这篇文章中,我将继续ASP.NET Identity 之旅,这也是ASP.NET Identity 三部曲的最后一篇.在本文中,将为大家介绍ASP.NET Identity 的高级功能,它支持声明式并且还可以灵活的与ASP.NET MVC 授权结合使用,同时,它还支持使用第三方来实现身份验证. 关于ASP.NET Identity 的基础知识,请参考如下文章: ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇 ASP.NET MVC 随想录——探索ASP.NE…
阅读目录: 1.开篇介绍 2.ASP.NETMVC IControllerFactory 控制器工厂接口 3.ASP.NETMVC DefaultControllerFactory 默认控制器工厂 4.ASP.NETMVC ControllerBuilder 控制器创建入口设置 5.ASP.NETMVC 自定义IControllerFactory 1]开篇介绍 上一篇文章“.NET/ASP.NET MVC Controller 控制器(一:深入解析控制器运行原理)”详细的讲解了MvcHandle…
ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”,这在给定的上下文中无效 这是一个与Controller.File方法和System.IO.File类名称冲突的问题,只要完整输入明确类名就可解决. 比如:File.ReadAllText(file);   >改为>  System.IO.File.ReadAllText(file); 转载自:http://www.cnblogs.com/craig/ar…
Spring MVC Controller中解析GET方式的中文参数会乱码的问题 问题描述 在工作上使用突然出现从get获取中文参数乱码(新装机器,tomcat重新下载和配置),查了半天终于找到解决办法. 为何会乱码 Spring MVC 是基于Servlet,在Http请求到达Servlet解析之前,GET过来的URL已经被Tomcat先做了一次URLDecode.Tomcat对GET方式默认的URL解码结果是iso-8859-1而不是我认为的UTF-8. 解决方案 解决方案也很简单,除了平常…
http://lavasoft.blog.51cto.com/62575/1394669/ Spring MVC Controller默认是单例的: 单例的原因有二:1.为了性能.2.不需要多例. 1.这个不用废话了,单例不用每次都new,当然快了.2.不需要实例会让很多人迷惑,因为spring mvc官方也没明确说不可以多例. 我这里说不需要的原因是看开发者怎么用了,如果你给controller中定义很多的属性,那么单例肯定会出现竞争访问了. 因此,只要controller中不定义属性,那么单…
MVC Controller 链接到 API Controller 以及反向链接 问题 想创建一个从 ASP.NET MVC controller 到 ASP.NET Web API controller 的直接链接,或者反向链接. 解决方案 可以使用 System.Web.Http.Routing.UrlHelp 的实例来创建一个指向 Controller的链接,来暴露ApiController(作为 Url 属性).着和在 RequestContext 上一样,会被附加到 HttpReque…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/1394669 Spring MVC Controller默认是单例的: 单例的原因有二: 1.为了性能. 2.不需要多例. 1.这个不用废话了,单例不用每次都new,当然快了. 2.不需要实例会让很多人迷惑,因为spring mvc官方也没明确说不可以多例. 我这里说不需要的原因是看开发者怎么用了,如果你给contro…
Spring MVC controller 这样写法通常意味着访问该请求,GET和POST请求都行,可是经常会遇到,如果碰到参数是中文的,post请求可以,get请求过来就是乱码.如果强行对参数进行了解码,get请求可以了,反而post请求会乱码了. 查阅资料 为何会乱码 Spring MVC 是基于Servlet,在Http请求到达Servlet解析之前,GET过来的URL已经被Tomcat先做了一次URLDecode.Tomcat对GET方式默认的URL解码结果是iso-8859-1而不是我…
原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------------------------------------------------------------------------------------------ Asp.net Mvc Controller Json数组接收数组字典 类型 复杂对象 方法一,(最复杂的方法)扩展ModelBin…
在用 spring mvc 写应用的时候发现jquery传递的[json数组对象]参数后台接收不到,多订单的处理,ajax请求: "}]}]} $.ajax({ url : url, type : "POST", datatype:"json", data : cmd, success : function(data, stats) { if (stats == "success") { // window.location.href=…
阅读目录: 1.开篇介绍 2.ASP.NETMVC IControllerFactory 控制器工厂接口 3.ASP.NETMVC DefaultControllerFactory 默认控制器工厂 4.ASP.NETMVC ControllerBuilder 控制器创建入口设置 5.ASP.NETMVC 自定义IControllerFactory 1]开篇介绍 上一篇文章".NET/ASP.NET MVC Controller 控制器(一:深入解析控制器运行原理)"详细的讲解了MvcH…
1.Controller类 i.Controller必须为公开类: ii.必须以Controller结尾: iii.继承Controller基类或实现IController接口的类: iv.类中必须包含数个返回值为ActionResult的公开方法,这些方法在MVC中称为Action: 2.Controller执行过程: 当Controller被MvcHandler选中之后,下一步就是通过ActionInvoker选取适当的Action来执行,在Controller中,每一个Action可以定义…
spring mvc controller中获取request head内容: @RequestMapping("/{mlid}/{ptn}/{name}") public String print(@PathVariable Integer mlid, @PathVariable String ptn, @PathVariable String name, HttpSession session, Model model, @RequestHeader String referer,…
当弄一个小程序时,就忽略了使用Ioc这种手段,作为一个帅气程序员,代码规范,你懂的~,废话不多说,快速搭建一个Ioc接口实例以及直接注入到 MVC Controller 构造函数中如下: MVC integration requires the Autofac.Mvc5 NuGet package. 文档:http://docs.autofac.org/en/latest/integration/mvc.html#register-controllers 代码如下: 1.首先我们创建一个WebC…
主页-http://www.zhixin9001.cn/Home/Introduce GitHub- https://github.com/zhixin9001/Fitness 这是关于Fit网站的最后一篇,这几天网站备案审核通过,以后就可以正式使用了. 项目过程中学习了MVC.单元测试.Bootstrap.IOC等内容,也体验了云存储.虚机的使用(共享虚机). 域名备案真是麻烦极了,要在网上提交申请,拍照上传照片,下载打印三张纸质申请单,开始时没看清楚陕西地区的日期不能写还作废了好几张,然后还…
前不久刚刚通过租房网站的开发学习了MVC,并随后学习了单元测试相关的基础,现在开始健身网站的开发,该项目将结合MVC与单元测试,在开发实践过程中,趁热打铁,巩固并运用之前的内容. 一 健身网站功能描述 关于健身网站的需求,主要从个人日常锻炼的需要出发,以达到辅助锻炼的目的.各应用商店中健身相关的APP也有不少,但始终无法找到一款很好满足增肌训练的.不花哨的.去社交化的.无跑步宗教的应用.于是刚好通过健身网站的开发,学习MVC和单元测试:如果顺利完成的话,也可作为日常锻炼之用. 网站的主要功能是:…
转载:https://sq.163yun.com/blog/article/169563599967031296 四.循环依赖的解决 果然! 当我将@SpyBean应用到存在有循环依赖的Bean上时,会导致如下异常: Bean with name userCouponService has been injected into other beans [bizOrderService,userCoupon TemplateService] in its raw version as part o…
转载:https://sq.163yun.com/blog/article/169561874192850944 众所周知,mock对于单元测试,尤其是基于spring容器的单元测试,是非常重要的.它可以帮助我们隔离其他模块的错误.外部依赖.慢操作.未实现功能等等,也可以帮助我们创建一些难以复现的场景等.       教育这边目前选择的mock框架底层是基于Mockito的.因为Mockito具有使用起来简单,学习成本很低,API简洁,测试代码可读性高,无须录制mock方法就能返回默认值等优点.…
Spring MVC can be setup to automatically bind incoming JSON string into a Java object. Firstly, ensure you have jackson-mapper-asl included on the classpath: <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-…
问题 想创建一个从 ASP.NET MVC controller 到 ASP.NET Web API controller 的直接链接,或者反向链接. 解决方案 可以使用 System.Web.Http.Routing.UrlHelp 的实例来创建一个指向 Controller的链接,来暴露ApiController(作为 Url 属性).着和在 RequestContext 上一样,会被附加到 HttpRequestMessage 实例.为了达到这个目的,我们需要调用链接方法或路由方法,然后传…