Table of Contents

BlockingManagedWebHostFixture Class

Definition

Namespace
Codebelt.Extensions.Xunit.Hosting.AspNetCore
Assemblies
Codebelt.Extensions.Xunit.Hosting.AspNetCore.dll
Source
src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/BlockingManagedWebHostFixture.cs

Extends the default implementation of the IWebHostFixture interface to be synchronous e.g., blocking where exceptions can be captured.

public sealed class BlockingManagedWebHostFixture : ManagedWebHostFixture, IAsyncLifetime, IWebHostFixture, IGenericHostFixture, IHostFixture, IConfigurationTest, IEnvironmentTest, IDisposable, IAsyncDisposable, IPipelineTest
Inheritance
BlockingManagedWebHostFixture
Implements
IAsyncLifetime
Inherited Members
Extension Methods

Examples

The following example uses BlockingManagedWebHostFixture as a fixture for xUnit tests that need a synchronously started web host. The fixture manages the full web host lifecycle and blocks until the host is started before returning control to the test.

using Codebelt.Extensions.Xunit.Hosting.AspNetCore;
using Microsoft.Extensions.DependencyInjection;
using Xunit;

namespace WebFixtureTests;

public class WebHostIntegrationTest : IClassFixture<BlockingManagedWebHostFixture>
{
    private readonly BlockingManagedWebHostFixture _fixture;

    public WebHostIntegrationTest(BlockingManagedWebHostFixture fixture)
    {
        _fixture = fixture;
    }

    [Fact]
    public void HostShouldBeStarted()
    {
        Assert.True(_fixture.HasValidState());
    }
}

Constructors

Name Description
BlockingManagedWebHostFixture()

Initializes a new instance of the BlockingManagedWebHostFixture class.

See Also