Microsoft.AspNetCore.TestHost 10.0.0-preview.1.25120.3

About

Microsoft.AspNetCore.TestHost provides an ASP.NET Core web server for testing middleware in isolation.

Key Features

  • Instantiate an app pipeline containing only the components that you need to test
  • Send custom requests to verify middleware behavior

How to Use

To use Microsoft.AspNetCore.TestHost, follow these steps:

Installation

dotnet add package Microsoft.AspNetCore.TestHost

Usage

To set up the TestServer, configure it in your test project. Here's an example:

[Fact]
public async Task MiddlewareTest_ReturnsNotFoundForRequest()
{
    // Build and start a host that uses TestServer
    using var host = await new HostBuilder()
        .ConfigureWebHost(builder =>
        {
            builder.UseTestServer()
                .ConfigureServices(services =>
                {
                    // Add any required services that the middleware uses
                    services.AddMyServices();
                })
                .Configure(app =>
                {
                    // Configure the processing pipeline to use the middleware
                    // for the test
                    app.UseMiddleware<MyMiddleware>();
                });
        })
        .StartAsync();

    var response = await host.GetTestClient().GetAsync("/");

    Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
}

Main Types

The main types provided by this package are:

  • TestServer: An IServer implementation for executing tests
  • TestServerOptions: Provides options for configuring a TestServer

Additional Documentation

For additional documentation and examples, refer to the official documentation for testing middleware in ASP.NET Core.

Feedback & Contributing

Microsoft.AspNetCore.TestHost is released as open-source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

No packages depend on Microsoft.AspNetCore.TestHost.

.NET 10.0

  • No dependencies.

Version Downloads Last updated
10.0.0-preview.1.25120.3 6 02/26/2025
9.0.9 9 09/19/2025
9.0.8 9 09/19/2025
9.0.7 10 08/01/2025
9.0.6 10 08/01/2025
9.0.5 11 06/04/2025
9.0.4 11 06/04/2025
9.0.3 11 06/04/2025
9.0.2 13 02/25/2025
9.0.1 12 02/25/2025
9.0.0 12 11/29/2024
9.0.0-rc.2.24474.3 6 02/25/2025
9.0.0-rc.1.24452.1 6 02/25/2025
9.0.0-preview.7.24406.2 6 02/25/2025
9.0.0-preview.6.24328.4 6 02/25/2025
9.0.0-preview.5.24306.11 6 02/25/2025
9.0.0-preview.4.24267.6 6 02/25/2025
9.0.0-preview.3.24172.13 6 02/25/2025
9.0.0-preview.2.24128.4 6 02/25/2025
9.0.0-preview.1.24081.5 6 02/25/2025
8.0.13 6 02/25/2025
8.0.12 6 02/25/2025
8.0.11 6 02/25/2025
8.0.10 7 02/25/2025
8.0.8 11 02/25/2025
8.0.7 12 02/25/2025
8.0.6 12 02/25/2025
8.0.5 11 02/25/2025
8.0.4 12 02/25/2025
8.0.3 12 02/25/2025
8.0.2 12 02/25/2025
8.0.1 12 02/25/2025
8.0.0 10 02/25/2025
8.0.0-rc.2.23480.2 5 02/25/2025
8.0.0-rc.1.23421.29 6 02/25/2025
8.0.0-preview.7.23375.9 5 02/25/2025
8.0.0-preview.6.23329.11 6 02/25/2025
8.0.0-preview.5.23302.2 6 02/25/2025
8.0.0-preview.4.23260.4 6 02/25/2025
8.0.0-preview.3.23177.8 6 02/25/2025
8.0.0-preview.2.23153.2 6 02/25/2025
8.0.0-preview.1.23112.2 6 02/25/2025
7.0.20 5 02/25/2025
7.0.19 6 02/25/2025
7.0.18 6 02/25/2025
7.0.17 6 02/25/2025
7.0.16 6 02/25/2025
7.0.15 6 02/25/2025
7.0.14 13 02/25/2025
7.0.13 5 02/25/2025
7.0.12 6 02/25/2025
7.0.11 5 02/25/2025
7.0.10 5 02/25/2025
7.0.9 11 02/25/2025
7.0.8 12 02/25/2025
7.0.7 10 02/25/2025
7.0.5 10 02/25/2025
7.0.4 12 02/25/2025
7.0.3 12 02/25/2025
7.0.2 12 02/25/2025
7.0.1 12 02/25/2025
7.0.0 10 02/25/2025
7.0.0-rc.2.22476.2 6 02/25/2025
7.0.0-rc.1.22427.2 6 02/25/2025
7.0.0-preview.7.22376.6 6 02/25/2025
7.0.0-preview.6.22330.3 6 02/25/2025
7.0.0-preview.5.22303.8 6 02/25/2025
7.0.0-preview.4.22251.1 6 02/25/2025
7.0.0-preview.3.22178.4 6 02/25/2025
7.0.0-preview.2.22153.2 6 02/25/2025
7.0.0-preview.1.22109.13 6 02/25/2025
6.0.36 6 02/25/2025
6.0.35 7 02/25/2025
6.0.33 7 02/25/2025
6.0.32 7 02/25/2025
6.0.31 8 02/25/2025
6.0.30 7 02/25/2025
6.0.29 6 02/25/2025
6.0.28 6 02/25/2025
6.0.27 6 02/25/2025
6.0.26 6 02/25/2025
6.0.25 6 02/25/2025
6.0.24 5 02/25/2025
6.0.23 6 02/25/2025
6.0.22 7 02/25/2025
6.0.21 6 02/25/2025
6.0.20 6 02/25/2025
6.0.19 6 02/25/2025
6.0.18 6 02/25/2025
6.0.16 7 02/25/2025
6.0.15 6 02/25/2025
6.0.14 6 02/25/2025
6.0.13 7 02/25/2025
6.0.12 6 02/25/2025
6.0.11 6 02/25/2025
6.0.10 5 02/25/2025
6.0.9 12 02/25/2025
6.0.8 12 02/25/2025
6.0.7 12 02/25/2025
6.0.6 11 02/25/2025
6.0.5 12 02/25/2025
6.0.4 12 02/25/2025
6.0.3 12 02/25/2025
6.0.2 11 02/25/2025
6.0.1 11 02/25/2025
6.0.0 11 02/25/2025
6.0.0-rc.2.21480.10 6 02/25/2025
6.0.0-rc.1.21452.15 6 02/25/2025
6.0.0-preview.7.21378.6 6 02/25/2025
6.0.0-preview.6.21355.2 5 02/25/2025
6.0.0-preview.5.21301.17 6 02/25/2025
6.0.0-preview.4.21253.5 6 02/25/2025
6.0.0-preview.3.21201.13 6 02/25/2025
6.0.0-preview.2.21154.6 6 02/25/2025
6.0.0-preview.1.21103.6 6 02/25/2025
5.0.17 5 02/25/2025
5.0.16 6 02/25/2025
5.0.15 6 02/25/2025
5.0.14 6 02/25/2025
5.0.13 6 02/25/2025
5.0.12 6 02/25/2025
5.0.11 6 02/25/2025
5.0.10 7 02/25/2025
5.0.9 12 02/25/2025
5.0.8 12 02/25/2025
5.0.7 12 02/25/2025
5.0.6 12 02/25/2025
5.0.5 11 02/25/2025
5.0.4 12 02/25/2025
5.0.3 12 02/25/2025
5.0.2 11 02/25/2025
5.0.1 11 02/25/2025
5.0.0 11 02/25/2025
5.0.0-rc.2.20475.17 6 02/25/2025
5.0.0-rc.1.20451.17 6 02/25/2025
5.0.0-preview.8.20414.8 6 02/25/2025
5.0.0-preview.7.20365.19 6 02/25/2025
5.0.0-preview.6.20312.15 6 02/25/2025
5.0.0-preview.5.20279.2 6 02/25/2025
5.0.0-preview.4.20257.10 5 02/25/2025
5.0.0-preview.3.20215.14 6 02/25/2025
5.0.0-preview.2.20167.3 6 02/25/2025
5.0.0-preview.1.20124.5 6 02/25/2025
3.1.32 5 02/25/2025
3.1.31 6 02/25/2025
3.1.30 6 02/25/2025
3.1.29 6 02/25/2025
3.1.28 7 02/25/2025
3.1.27 6 02/25/2025
3.1.26 7 02/25/2025
3.1.25 7 02/25/2025
3.1.24 6 02/25/2025
3.1.23 7 02/25/2025
3.1.22 6 02/25/2025
3.1.21 6 02/25/2025
3.1.20 6 02/25/2025
3.1.19 7 02/25/2025
3.1.18 7 02/25/2025
3.1.17 6 02/25/2025
3.1.16 6 02/25/2025
3.1.15 6 02/25/2025
3.1.14 7 02/25/2025
3.1.13 6 02/25/2025
3.1.12 6 02/25/2025
3.1.11 6 02/25/2025
3.1.10 7 02/25/2025
3.1.9 12 02/25/2025
3.1.8 12 02/25/2025
3.1.7 12 02/25/2025
3.1.6 12 02/25/2025
3.1.5 12 02/25/2025
3.1.4 12 02/25/2025
3.1.3 11 02/25/2025
3.1.2 12 02/25/2025
3.1.1 11 02/25/2025
3.1.0 12 02/25/2025
3.1.0-preview3.19555.2 6 02/25/2025
3.1.0-preview2.19528.8 6 02/25/2025
3.1.0-preview1.19508.20 6 02/25/2025
3.0.3 10 02/25/2025
3.0.2 12 02/25/2025
3.0.0 11 02/25/2025
3.0.0-rc1.19457.4 6 02/25/2025
3.0.0-preview9.19424.4 6 02/25/2025
3.0.0-preview8.19405.7 6 02/25/2025
3.0.0-preview7.19365.7 6 02/25/2025
3.0.0-preview6.19307.2 6 02/25/2025
3.0.0-preview5-19227-01 6 02/25/2025
3.0.0-preview4-19216-03 6 02/25/2025
3.0.0-preview3-19153-02 6 02/25/2025
3.0.0-preview-19075-0444 6 02/25/2025
3.0.0-preview-18579-0056 5 02/25/2025
2.3.0 11 02/25/2025
2.2.0 10 02/25/2025
2.2.0-preview3-35497 6 02/25/2025
2.2.0-preview2-35157 6 02/25/2025
2.2.0-preview1-35029 6 02/25/2025
2.1.1 11 02/25/2025
2.1.0 11 02/25/2025
2.1.0-rc1-final 7 02/25/2025
2.1.0-preview2-final 6 02/25/2025
2.1.0-preview1-final 13 02/25/2025
2.0.3 12 02/25/2025
2.0.2 11 02/25/2025
2.0.1 12 02/25/2025
2.0.0 11 02/25/2025
2.0.0-preview2-final 6 02/25/2025
2.0.0-preview1-final 6 02/25/2025
1.1.3 11 02/25/2025
1.1.2 11 02/25/2025
1.1.1 11 02/25/2025
1.1.0 10 02/25/2025
1.1.0-preview1-final 6 02/25/2025
1.0.5 12 02/25/2025
1.0.4 12 02/25/2025
1.0.3 11 02/25/2025
1.0.2 12 02/25/2025
1.0.1 11 02/25/2025
1.0.0 11 02/25/2025
1.0.0-rc2-final 7 02/25/2025