Asp.net-Mvc

模擬 Asp.net-mvc 控制器上下文

  • August 28, 2008

所以控制器上下文取決於一些 asp.net 內部。有哪些方法可以乾淨地模擬這些以進行單元測試?當我只需要例如 Request.HttpMethod 返回“GET”時,似乎很容易用大量設置阻塞測試。

我在網上看到了一些例子/助手,但有些已經過時了。認為這將是保持最新和最偉大的好地方。

我正在使用最新版本的 rhino mocks

使用 MoQ,它看起來像這樣:

var request = new Mock<HttpRequestBase>();
request.Expect(r => r.HttpMethod).Returns("GET");
var mockHttpContext = new Mock<HttpContextBase>();
mockHttpContext.Expect(c => c.Request).Returns(request.Object);
var controllerContext = new ControllerContext(mockHttpContext.Object
, new RouteData(), new Mock<ControllerBase>().Object);

我認為 Rhino Mocks 的語法是相似的。

引用自:https://stackoverflow.com/questions/32640