Skip to content

Instantly share code, notes, and snippets.

@johnmmoss
Last active August 29, 2015 14:15
Show Gist options
  • Save johnmmoss/5887b9a17b241ebd851c to your computer and use it in GitHub Desktop.
Save johnmmoss/5887b9a17b241ebd851c to your computer and use it in GitHub Desktop.
Mocking the ASP.NET ControllerContext with Rhino Mock
public void SetUpControllerContext()
{
// Setup the controller context plumbing
var httpContext = MockRepository.GenerateMock<HttpContextBase>();
var httpRequest = MockRepository.GenerateMock<HttpRequestBase>();
var httpResponse = MockRepository.GenerateMock<HttpReponseBase>();
var browserMock = MockRepository.GenerateMock<HttpBrowserCapabilitiesBase>();
// Set the required test values
httpContext.Stub(h => h.Request.Browser).Return(browserMock);
httpContext.Stub(h => h.Request).Return(httpRequest);
// Now create the system under test
var repository = MockRepository.GenerateMock<Repository>();
var controller = new CustomerController(repository);
controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), _controller);
controller.Create();
// Assertions
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment