Class MinimalHostTestFactory
- Namespace
- Codebelt.Extensions.Xunit.Hosting
- Assembly
- Codebelt.Extensions.Xunit.Hosting.dll
Provides a set of static methods for IHost unit testing (minimal style).
public static class MinimalHostTestFactory
- Inheritance
-
MinimalHostTestFactory
Examples
The following example uses MinimalHostTestFactory to create a lightweight host context for testing a simple service. Unlike the generic host factory, the minimal host avoids the full IHostBuilder pipeline and is suitable for isolated unit tests that only need dependency injection and logging.
using System;
using Codebelt.Extensions.Xunit.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace HostFixtureTests;
public class MinimalHostFactoryExample
{
public void Demonstrate()
{
using var host = MinimalHostTestFactory.Create(
services => services.AddSingleton(new Version(1, 0, 0)));
var version = host.Host.Services.GetRequiredService<Version>();
Console.WriteLine(version);
}
}
Methods
Create(Action<IServiceCollection>, Action<IHostApplicationBuilder>, IMinimalHostFixture)
Creates and returns an IHostTest implementation.
public static IHostTest Create(Action<IServiceCollection> serviceSetup = null, Action<IHostApplicationBuilder> hostSetup = null, IMinimalHostFixture hostFixture = null)
Parameters
serviceSetupAction<IServiceCollection>The IServiceCollection which may be configured.
hostSetupAction<IHostApplicationBuilder>The IHostBuilder which may be configured.
hostFixtureIMinimalHostFixtureAn optional IMinimalHostFixture implementation to use instead of the default ManagedMinimalHostFixture instance.
Returns
CreateWithHostBuilderContext(Action<HostBuilderContext, IServiceCollection>, Action<IHostApplicationBuilder>, IMinimalHostFixture)
Creates and returns an IHostTest implementation.
public static IHostTest CreateWithHostBuilderContext(Action<HostBuilderContext, IServiceCollection> serviceSetup = null, Action<IHostApplicationBuilder> hostSetup = null, IMinimalHostFixture hostFixture = null)
Parameters
serviceSetupAction<HostBuilderContext, IServiceCollection>The IServiceCollection which may be configured.
hostSetupAction<IHostApplicationBuilder>The IHostBuilder which may be configured.
hostFixtureIMinimalHostFixtureAn optional IMinimalHostFixture implementation to use instead of the default ManagedMinimalHostFixture instance.