Faking SPContext–for testing only…

2011/09/21

Keith Dahlby has a good post on creating a fake SPContext.  Here’s the link and the code

NOTE: This is not production safe code – use at own risk…

http://solutionizing.net/2009/02/16/faking-spcontext/

public static SPContext FakeSPContext(SPWeb contextWeb)
{
  // Ensure HttpContext.Current
  if (HttpContext.Current == null)
  {
    HttpRequest request = new HttpRequest("", web.Url, "");
    HttpContext.Current = new HttpContext(request,
      new HttpResponse(TextWriter.Null));
  }

// SPContext is based on SPControl.GetContextWeb(), which looks here  

if(HttpContext.Current.Items["HttpHandlerSPWeb"] == null)  

HttpContext.Current.Items["HttpHandlerSPWeb"] = web;

return SPContext.Current;  

}

More Posts