2012-07-31 8 views
6

mit der verspotten, wie ich diese Anfrage verspotten [....]wie würde ich in Moq</p> <pre><code>public Mock<HttpRequestBase> Request { get; set; } </code></pre> <p>nach einer Abfragezeichenfolgeflag

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

hier ist was ich

bisher haben
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); 

    } 

} 

Prost!

Antwort

5

Sie können Indexer mit dem SetupGet Methode spotten:

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

Dank -, die den Trick tat – MikeW

+0

ich hier eine andere damit zusammenhängende Frage hinzugefügt, wenn Sie Zeit haben http://stackoverflow.com/questions/11751651/how- do-i-mock-out-the-mvcfutures-meiner-Controller-Tests – MikeW