Asp.net mvc 4 在控制器内使用UrlHelper会中断测试

Asp.net mvc 4 在控制器内使用UrlHelper会中断测试,asp.net-mvc-4,mocking,tdd,Asp.net Mvc 4,Mocking,Tdd,我是MVC和TDD的新手,所以请对我放松点 我有一个操作需要重定向到另一个操作。为此,我构建了一个基本uri,如下所示: UrlHelper u = new UrlHelper(this.ControllerContext.RequestContext); string baseURI = u.Action("PayPalAuth", "Order"); 我已经根据PayPal的示例代码(字符串baseURI=Request.Url.Scheme+“:/”+Request.Url.Author

我是MVC和TDD的新手,所以请对我放松点

我有一个操作需要重定向到另一个操作。为此,我构建了一个基本uri,如下所示:

UrlHelper u = new UrlHelper(this.ControllerContext.RequestContext);
string baseURI = u.Action("PayPalAuth", "Order");
我已经根据PayPal的示例代码(字符串baseURI=Request.Url.Scheme+“:/”+Request.Url.Authority+“/Order/PayPalAuth?”)进行了修改,但也许我没有使用最佳方法为目标操作生成baseURI

主要问题是,当我从MSTest单元测试调用操作时,ControllerContext上会出现一个null异常

解决这个问题最简单的方法是什么?我在SO上发现了类似的问题,但无法真正理解。我想我可能需要使用模拟框架,但不知道从哪里开始

解决这个问题最简单的方法是什么

通过模拟
控制器上下文
。以下是如何实现这一目标的示例: