private IHtmlHelper<TestModel> MockHtmlHelper() { IOptions<MvcViewOptions> options = Substitute.For<IOptions<MvcViewOptions>>(); IModelMetadataProvider provider = new EmptyModelMetadataProvider(); options.Value.Returns(new MvcViewOptions()); IHtmlGenerator generator = new DefaultHtmlGenerator( Substitute.For<IAntiforgery>(), options, provider, Substitute.For<IUrlHelperFactory>(), HtmlEncoder.Default, new ClientValidatorCache()); HtmlHelper<TestModel> htmlHelper = new HtmlHelper<TestModel>( generator, Substitute.For<ICompositeViewEngine>(), provider, Substitute.For<IViewBufferScope>(), HtmlEncoder.Default, UrlEncoder.Default, new ExpressionTextCache()); TestModel model = new TestModel(); model.ParentId = "Model's parent ID"; ViewContext context = new ViewContext(); context.ViewData = new ViewDataDictionary<TestModel>(context.ViewData, model); htmlHelper.Contextualize(context); return htmlHelper; }