/// <summary>
        /// Creates a new <see cref="WebApplicationFactory{TEntryPoint}"/> with a <see cref="IWebHostBuilder"/>
        /// that is further customized by <paramref name="configuration"/>.
        /// </summary>
        /// <param name="configuration">
        /// An <see cref="Action{IWebHostBuilder}"/> to configure the <see cref="IWebHostBuilder"/>.
        /// </param>
        /// <returns>A new <see cref="WebApplicationFactory{TEntryPoint}"/>.</returns>
        public WebApplicationFactory <TEntryPoint> WithWebHostBuilder(Action <IWebHostBuilder> configuration)
        {
            var factory = new DelegatedWebApplicationFactory(
                ClientOptions,
                CreateServer,
                CreateWebHostBuilder,
                GetTestAssemblies,
                builder =>
            {
                _configuration(builder);
                configuration(builder);
            });

            _derivedFactories.Add(factory);

            return(factory);
        }
Ejemplo n.º 2
0
        public WebModuleFactory <TModule> WithModuleConfiguration(Action <IModuleHostingOptions> options)
        {
            var factory = new DelegatedWebApplicationFactory(
                ClientOptions,
                CreateServer,
                CreateHost,
                CreateModuleHostBuilder,
                GetTestAssemblies,
                ConfigureClient,
                ConfigureWebHost,
                o =>
            {
                ConfigureModule(o);
                options(o);
            });

            _derivedFactories.Add(factory);

            return(factory);
        }
Ejemplo n.º 3
0
        internal virtual WebModuleFactory <TModule> WithWebHostBuilderCore(Action <IWebHostBuilder> configuration)
        {
            var factory = new DelegatedWebApplicationFactory(
                ClientOptions,
                CreateServer,
                CreateHost,
                CreateModuleHostBuilder,
                GetTestAssemblies,
                ConfigureClient,
                builder =>
            {
                _configuration(builder);
                configuration(builder);
            },
                ConfigureModule);

            _derivedFactories.Add(factory);

            return(factory);
        }