Class MinimalWebHostTestFactory
- Assembly
- Codebelt.Extensions.Xunit.Hosting.AspNetCore.dll
Provides a set of static methods for ASP.NET Core (including, but not limited to MVC, Razor and related) unit testing (minimal style).
public static class MinimalWebHostTestFactory
- Inheritance
-
MinimalWebHostTestFactory
Methods
Create(Action<IServiceCollection>, Action<IApplicationBuilder>, Action<IHostApplicationBuilder>, IWebMinimalHostFixture)
Creates and returns an IWebHostTest implementation.
public static IWebHostTest Create(Action<IServiceCollection> serviceSetup = null, Action<IApplicationBuilder> pipelineSetup = null, Action<IHostApplicationBuilder> hostSetup = null, IWebMinimalHostFixture hostFixture = null)
Parameters
serviceSetup
Action<IServiceCollection>The IServiceCollection which may be configured.
pipelineSetup
Action<IApplicationBuilder>The Microsoft.AspNetCore.Builder.IApplicationBuilder which may be configured.
hostSetup
Action<IHostApplicationBuilder>The IHostBuilder which may be configured.
hostFixture
IWebMinimalHostFixtureAn optional IWebHostFixture implementation to use instead of the default ManagedWebHostFixture instance.
Returns
- IWebHostTest
An instance of an IWebHostTest implementation.
CreateWithHostBuilderContext(Action<HostBuilderContext, IServiceCollection>, Action<HostBuilderContext, IApplicationBuilder>, Action<IHostApplicationBuilder>, IWebMinimalHostFixture)
Creates and returns an IWebHostTest implementation.
public static IWebHostTest CreateWithHostBuilderContext(Action<HostBuilderContext, IServiceCollection> serviceSetup = null, Action<HostBuilderContext, IApplicationBuilder> pipelineSetup = null, Action<IHostApplicationBuilder> hostSetup = null, IWebMinimalHostFixture hostFixture = null)
Parameters
serviceSetup
Action<HostBuilderContext, IServiceCollection>The IServiceCollection which may be configured.
pipelineSetup
Action<HostBuilderContext, IApplicationBuilder>The Microsoft.AspNetCore.Builder.IApplicationBuilder which may be configured.
hostSetup
Action<IHostApplicationBuilder>The IHostBuilder which may be configured.
hostFixture
IWebMinimalHostFixtureAn optional IWebHostFixture implementation to use instead of the default ManagedWebHostFixture instance.
Returns
- IWebHostTest
An instance of an IWebHostTest implementation.
RunAsync(Action<IServiceCollection>, Action<IApplicationBuilder>, Action<IHostApplicationBuilder>, Func<HttpClient, Task<HttpResponseMessage>>, IWebMinimalHostFixture)
Runs a middleware and returns an HttpClient for making HTTP requests to the test server.
public static async Task<HttpResponseMessage> RunAsync(Action<IServiceCollection> serviceSetup = null, Action<IApplicationBuilder> pipelineSetup = null, Action<IHostApplicationBuilder> hostSetup = null, Func<HttpClient, Task<HttpResponseMessage>> responseFactory = null, IWebMinimalHostFixture hostFixture = null)
Parameters
serviceSetup
Action<IServiceCollection>The IServiceCollection which may be configured.
pipelineSetup
Action<IApplicationBuilder>The Microsoft.AspNetCore.Builder.IApplicationBuilder which may be configured.
hostSetup
Action<IHostApplicationBuilder>The IHostBuilder which may be configured.
responseFactory
Func<HttpClient, Task<HttpResponseMessage>>The function delegate that creates a HttpResponseMessage from the HttpClient. Default is a GET request to the root URL ("/").
hostFixture
IWebMinimalHostFixtureAn optional IWebHostFixture implementation to use instead of the default ManagedWebHostFixture instance.
Returns
- Task<HttpResponseMessage>
A Task that represents the asynchronous operation. The task result contains the HttpResponseMessage for the test server.
RunWithHostBuilderContextAsync(Action<HostBuilderContext, IServiceCollection>, Action<HostBuilderContext, IApplicationBuilder>, Action<IHostApplicationBuilder>, Func<HttpClient, Task<HttpResponseMessage>>, IWebMinimalHostFixture)
Runs a filter/middleware test.
public static async Task<HttpResponseMessage> RunWithHostBuilderContextAsync(Action<HostBuilderContext, IServiceCollection> serviceSetup = null, Action<HostBuilderContext, IApplicationBuilder> pipelineSetup = null, Action<IHostApplicationBuilder> hostSetup = null, Func<HttpClient, Task<HttpResponseMessage>> responseFactory = null, IWebMinimalHostFixture hostFixture = null)
Parameters
serviceSetup
Action<HostBuilderContext, IServiceCollection>The IServiceCollection which may be configured.
pipelineSetup
Action<HostBuilderContext, IApplicationBuilder>The Microsoft.AspNetCore.Builder.IApplicationBuilder which may be configured.
hostSetup
Action<IHostApplicationBuilder>The IHostBuilder which may be configured.
responseFactory
Func<HttpClient, Task<HttpResponseMessage>>The function delegate that creates a HttpResponseMessage from the HttpClient. Default is a GET request to the root URL ("/").
hostFixture
IWebMinimalHostFixtureAn optional IWebHostFixture implementation to use instead of the default ManagedWebHostFixture instance.
Returns
- Task<HttpResponseMessage>
A Task that represents the asynchronous operation. The task result contains the HttpResponseMessage for the test server.