2012-07-31 12 views
6

का उपयोग कर Moq में निम्नलिखितमैं कैसे नकली हैं एक क्वेरी स्ट्रिंग

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 विधि के साथ indexers नकली कर सकते हैं:

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

धन्यवाद - कि चाल – MikeW

+0

मैं यहाँ एक और संबंधित सवाल कहा कि यदि आपके पास समय हो किया http://stackoverflow.com/questions/11751651/how- कर-ए-नकली बाहर-mvcfutures के- मेरी नियंत्रक-परीक्षण – MikeW