public ControllerTestContext(ControllerBase controller) { ViewEngine = new MockViewEngine(); TestContext = new HttpContextTestContext(); var controllerContext = new ControllerContext( new RequestContext(TestContext.Context, new RouteData()), controller); controller.ControllerContext = controllerContext; }
/// <summary> /// Common method for asserting routes /// </summary> /// <param name="routes"></param> /// <param name="relativeUrl"></param> /// <param name="propertyBag"></param> private static void AssertRoutes(RouteCollection routes, string relativeUrl, object propertyBag) { var testContext = new HttpContextTestContext(); testContext.Request.Expect(request => request.AppRelativeCurrentExecutionFilePath) .Return(relativeUrl); testContext.Request.Expect(request => request.PathInfo).Return(string.Empty); var routeData = routes.GetRouteData(testContext.Context); foreach (var property in propertyBag.GetProperties()) { Assert.AreEqual(property.Value, routeData.Values[property.Name]); } }