Microsoft.AspNetCore.TestHost 10.0.1

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
Volo.Abp.AspNetCore.TestBase
Package Description
21
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/773e8cc3fbdc2c4ffbd57c1f53f21649ef94c35c
20
Volo.Abp.AspNetCore.TestBase
Package Description
19
Volo.Abp.AspNetCore.TestBase
Package Description
17
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/2670c128d522473e146ff9f8159bfffdfe694cd9
16
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/d504a7b7dab277712646747e9f5cce0d9507245e
16
Volo.Abp.AspNetCore.TestBase
Package Description
16
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
15
Volo.Abp.AspNetCore.TestBase
Package Description
15
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
14

.NET 10.0

  • No dependencies.

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