2012-07-31 21 views
6

中起訂量以下我將如何嘲笑使用查詢字符串

public Mock<HttpRequestBase> Request { get; set; } 

我怎麼能嘲笑這個請求[...]

(in controller) 
var modelFromPost = Request["mymodel"] 

這裏是我迄今爲止

public class ContextMocks 
{ 

    public Mock<HttpContextBase> HttpContext { get; set; } 
    public Mock<HttpRequestBase> Request { get; set; } 
    public RouteData RouteData { get; set; } 


    public ContextMocks(Controller controller) 
    { 
     HttpContext = new Mock<HttpContextBase>(); 
     HttpContext.Setup(x => x.Request).Returns(Request.Object); 

    } 

} 

乾杯!

回答

5

你可以嘲笑與SetupGet方法索引:

ContextMocks.Request.SetupGet(r => r["mymodel"]).Returns(myModel); 
+0

感謝 - 這奏效了 – MikeW 2012-08-01 01:15:24

+0

我在這裏添加了另一個相關的問題,如果你有時間http://stackoverflow.com/questions/11751651/how-做-I模擬出最mvcfutures - 的 - 我的控制器的測試 – MikeW 2012-08-01 02:05:17