ASP.NET MVC单元测试Controller时添加上下文的方式

在ASP.NET MVC中测试Controller时,常常需要在Controller中访问上下文,比方说查询字符串或者form中的内容,而我们测试的时候一般不是在web运行环境下的,所以我们需要做些工作去模拟上下文。

Controller中代码如下

 

 
    
public ActionResult Index()
{
ViewData[
" Message " ] = Request.QueryString[ " lfm " ];

return View();
}

 

 

测试写法如下:

 

ContractedBlock.gif 代码

 

这里用到了Mock可以参考:

MoQ(基于.net3.5,c#3.0的mock框架)简单介绍

如果是form稍作修改即可:

 

 
    
public ActionResult About()
{
ViewData[
" Message " ] = Request.Form[ " lfm " ];
return View();
}

 

 

测试代码:

 

ContractedBlock.gif 代码

 本文转自 你听海是不是在笑 博客园博客,原文链接:http://www.cnblogs.com/nuaalfm/archive/2010/05/21/1741088.html  ,如需转载请自行联系原作者


你可能感兴趣的:(ASP.NET MVC单元测试Controller时添加上下文的方式)