public TestMvcOptions() { Value = new MvcOptions(); var optionsSetup = new MvcCoreMvcOptionsSetup(new TestHttpRequestStreamReaderFactory()); optionsSetup.Configure(Value); var validationAttributeAdapterProvider = new ValidationAttributeAdapterProvider(); var dataAnnotationLocalizationOptions = Options.Create(new MvcDataAnnotationsLocalizationOptions()); var stringLocalizer = new Mock <IStringLocalizer>(); var stringLocalizerFactory = new Mock <IStringLocalizerFactory>(); stringLocalizerFactory .Setup(s => s.Create(It.IsAny <Type>())) .Returns(stringLocalizer.Object); var dataAnnotationOptionsSetup = new MvcDataAnnotationsMvcOptionsSetup( validationAttributeAdapterProvider, dataAnnotationLocalizationOptions, stringLocalizerFactory.Object); dataAnnotationOptionsSetup.Configure(Value); var loggerFactory = new LoggerFactory(); var jsonOptions = Options.Create(new MvcJsonOptions()); var charPool = ArrayPool <char> .Shared; var objectPoolProvider = new DefaultObjectPoolProvider(); var mvcJsonMvcOptionsSetup = new MvcJsonMvcOptionsSetup( loggerFactory, jsonOptions, charPool, objectPoolProvider); mvcJsonMvcOptionsSetup.Configure(Value); }