2012-07-31 9 views
6

utilizando la siguiente en Moqcómo iba a burlarse de una cadena de consulta

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

cómo puedo burlarse de esta solicitud [....]

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

esto es lo que tengo hasta ahora

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

    } 

} 

¡salud!

Respuesta

5

Puede burlarse indexadores con el método SetupGet:

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

gracias - que hizo el truco – MikeW

+0

añadí otra pregunta relacionada aquí si tienes tiempo http://stackoverflow.com/questions/11751651/how- do-i-mock-out-the-mvcfutures-of-my-controller-tests – MikeW

Cuestiones relacionadas