Microsoft.AspNetCore.TestHost 10.0.2

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.

Showing the top 20 packages that depend on Microsoft.AspNetCore.TestHost.

Packages Downloads
Microsoft.AspNetCore.Mvc.Testing
Support for writing functional tests for MVC applications. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/954f61dd38b33caa2b736c73530bd5a294174437
304
Microsoft.AspNetCore.Mvc.Testing
Support for writing functional tests for MVC applications. This package was built from the source code at https://github.com/dotnet/dotnet/tree/fad253f51b461736dfd3cd9c15977bb7493becef
11
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
11
Microsoft.AspNetCore.Mvc.Testing
Support for writing functional tests for MVC applications. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/cd9340856ed85215a911c97c44d52373f6cba2f9
10
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
10
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
9
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
9
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
8
Microsoft.AspNetCore.Mvc.Testing
Support for writing functional tests for MVC applications. This package was built from the source code at https://github.com/aspnet/AspNetCore/tree/cf2c5c9c6dca430b97aa96429b84d0da07eb77f1
8
Microsoft.AspNetCore.Mvc.Testing
Support for writing functional tests for MVC applications. This package was built from the source at: https://github.com/aspnet/Mvc/tree/fb57810f2960730e59db0235207b873c924bc3fd
8

.NET 10.0

  • No dependencies.

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