[TestMethod]
public void Home_Message_Display_Unknown_User_when_coockie_does_not_exist()
{
var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
context
.Setup(c => c.Request)
.Returns(request.Object);
HomeController controller = new HomeController();
controller.HttpContext = context; //Here I am getting an error (read only).
...
}
Run Code Online (Sandbox Code Playgroud)
我的基本控制器有一个重写的Initialize,它得到了这个requestContext.我试图通过这个,但我没有做正确的事情.
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
}
Run Code Online (Sandbox Code Playgroud)
在哪里可以获得有关使用Moq模拟我的RequestContext和HttpContext的更多信息?我正在尝试模拟cookie和一般上下文.
因此控制器上下文取决于一些asp.net内部.有什么方法可以干净地模拟这些单元测试?当我只需要例如Request.HttpMethod来返回"GET"时,似乎很容易堵塞大量设置的测试.
我在网上看过一些例子/助手,但有些已经过时了.认为这将是保持最新和最伟大的好地方.
我正在使用最新版本的犀牛嘲笑