Microsoft.AspNetCore.TestHost 10.0.1

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Microsoft.AspNetCore.TestHost --version 10.0.1
                    
NuGet\Install-Package Microsoft.AspNetCore.TestHost -Version 10.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="10.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="10.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Microsoft.AspNetCore.TestHost" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Microsoft.AspNetCore.TestHost --version 10.0.1
                    
#r "nuget: Microsoft.AspNetCore.TestHost, 10.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Microsoft.AspNetCore.TestHost@10.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Microsoft.AspNetCore.TestHost&version=10.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Microsoft.AspNetCore.TestHost&version=10.0.1
                    
Install as a Cake Tool

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.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (189)

Showing the top 5 NuGet packages that depend on Microsoft.AspNetCore.TestHost:

Package 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/dotnet/tree/44525024595742ebe09023abe709df51de65009b

Rystem.Test.XUnit

Rystem is a open-source framework to improve the System namespace in .Net

Reo.Core.IntegrationTesting

Package Description

MyTested.AspNetCore.Mvc.Abstractions

My Tested ASP.NET Core MVC common abstractions and interfaces.

Acheve.TestHost

Achve.TestHost is a nuget package to improve TestServer experiences. For more information see http://github.com/Xabaril/Acheve.TestHost

GitHub repositories (225)

Showing the top 20 popular GitHub repositories that depend on Microsoft.AspNetCore.TestHost:

Repository Stars
abpframework/abp
Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
dotnet/AspNetCore.Docs
Documentation for ASP.NET Core
aspnetboilerplate/aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
dotnet/eShop
A reference .NET application implementing an eCommerce site
dotnet/yarp
A toolkit for developing high-performance HTTP reverse proxy applications.
ThreeMammals/Ocelot
.NET API Gateway
RicoSuter/NSwag
The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.
ldqk/Masuit.Tools
全龄段友好的C#万能工具库,码数吐司库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。诸多功能集一身,代码量不到2MB!
FastEndpoints/FastEndpoints
A light-weight REST API development framework for ASP.NET 8 and newer.
kurrent-io/KurrentDB
KurrentDB is a database that's engineered for modern software applications and event-driven architectures. Its event-native design simplifies data modeling and preserves data integrity while the integrated streaming engine solves distributed messaging challenges and ensures data consistency.
ChilliCream/graphql-platform
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Nitro the awesome Monaco based GraphQL IDE.
aspnet/Mvc
[Archived] ASP.NET Core MVC is a model view controller framework for building dynamic web sites with clean separation of concerns, including the merged MVC, Web API, and Web Pages w/ Razor. Project moved to https://github.com/aspnet/AspNetCore
domaindrivendev/Swashbuckle.AspNetCore
Swagger tools for documenting API's built on ASP.NET Core
dotnet/aspire
Aspire is the tool for code-first, extensible, observable dev and deploy.
openiddict/openiddict-core
Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
dotnetcore/Util
Util是一个.Net平台下的应用框架,旨在提升中小团队的开发能力,由工具类、分层架构基类、Ui组件,配套代码生成模板,权限等组成。
opserver/Opserver
Stack Exchange's Monitoring System
grpc/grpc-dotnet
gRPC for .NET
Xabaril/AspNetCore.Diagnostics.HealthChecks
Enterprise HealthChecks for ASP.NET Core Diagnostics Package
Ombi-app/Ombi
Want a Movie or TV Show on Plex/Emby/Jellyfin? Use Ombi!
Version Downloads Last Updated
10.0.2 362,297 1/13/2026
10.0.1 1,073,470 12/9/2025
10.0.0 1,609,022 11/11/2025
10.0.0-rc.2.25502.107 99,082 10/14/2025
10.0.0-rc.1.25451.107 76,780 9/9/2025
10.0.0-preview.7.25380.108 35,520 8/12/2025
10.0.0-preview.6.25358.103 8,269 7/15/2025
10.0.0-preview.5.25277.114 36,490 6/6/2025
10.0.0-preview.4.25258.110 8,081 5/12/2025
10.0.0-preview.3.25172.1 7,297 4/10/2025
10.0.0-preview.2.25164.1 2,889 3/18/2025
10.0.0-preview.1.25120.3 137,610 2/25/2025
9.0.12 68,111 1/13/2026
9.0.11 1,119,410 11/11/2025
9.0.10 2,208,895 10/14/2025
9.0.9 2,391,162 9/9/2025
9.0.8 2,181,619 8/5/2025
9.0.7 1,665,286 7/8/2025
9.0.6 2,072,238 6/10/2025
9.0.5 2,747,579 5/13/2025
9.0.4 2,812,109 4/8/2025
9.0.3 2,192,452 3/11/2025
9.0.2 2,356,382 2/11/2025
9.0.1 2,061,079 1/14/2025
9.0.0 4,769,841 11/12/2024
9.0.0-rc.2.24474.3 69,466 10/8/2024
9.0.0-rc.1.24452.1 45,586 9/10/2024
9.0.0-preview.7.24406.2 11,896 8/13/2024
9.0.0-preview.6.24328.4 12,928 7/9/2024
9.0.0-preview.5.24306.11 5,525 6/11/2024
9.0.0-preview.4.24267.6 4,006 5/21/2024
9.0.0-preview.3.24172.13 71,140 4/11/2024
9.0.0-preview.2.24128.4 5,486 3/12/2024
9.0.0-preview.1.24081.5 28,258 2/13/2024
8.0.23 114,308 1/13/2026
8.0.22 1,527,440 11/11/2025
8.0.21 1,503,054 10/14/2025
8.0.20 1,590,576 9/9/2025
8.0.19 2,367,221 8/4/2025
8.0.18 1,358,833 7/8/2025
8.0.17 1,937,876 6/10/2025
8.0.16 1,843,738 5/13/2025
8.0.15 2,714,050 4/8/2025
8.0.14 2,713,171 3/11/2025
8.0.13 3,115,422 2/11/2025
8.0.12 2,860,287 1/14/2025
8.0.11 7,865,141 11/12/2024
8.0.10 10,022,277 10/8/2024
8.0.8 11,224,628 8/13/2024
8.0.7 8,112,718 7/9/2024
8.0.6 7,338,675 5/28/2024
8.0.5 2,926,380 5/14/2024
8.0.4 7,589,290 4/9/2024
8.0.3 4,876,081 3/12/2024
8.0.2 4,589,401 2/13/2024
8.0.1 5,111,743 1/9/2024
8.0.0 9,491,835 11/14/2023
8.0.0-rc.2.23480.2 66,172 10/10/2023
8.0.0-rc.1.23421.29 74,378 9/12/2023
8.0.0-preview.7.23375.9 13,837 8/8/2023
8.0.0-preview.6.23329.11 44,381 7/11/2023
8.0.0-preview.5.23302.2 13,046 6/13/2023
8.0.0-preview.4.23260.4 267,695 5/16/2023
8.0.0-preview.3.23177.8 3,728 4/11/2023
8.0.0-preview.2.23153.2 1,961 3/14/2023
8.0.0-preview.1.23112.2 41,703 2/21/2023
7.0.20 910,053 5/28/2024
7.0.19 288,440 5/14/2024
7.0.18 421,388 4/9/2024
7.0.17 669,397 3/12/2024
7.0.16 684,540 2/13/2024
7.0.15 877,770 1/9/2024
7.0.14 1,321,664 11/14/2023
7.0.13 2,867,272 10/24/2023
7.0.12 1,301,774 10/10/2023
7.0.11 4,090,946 9/12/2023
7.0.10 2,070,823 8/8/2023
7.0.9 1,608,163 7/11/2023
7.0.8 1,352,177 6/22/2023
7.0.7 789,313 6/13/2023
7.0.5 4,259,228 4/11/2023
7.0.4 2,294,125 3/14/2023
7.0.3 2,073,082 2/14/2023
7.0.2 2,114,697 1/10/2023
7.0.1 1,312,254 12/13/2022
7.0.0 4,240,049 11/7/2022
7.0.0-rc.2.22476.2 73,704 10/11/2022
7.0.0-rc.1.22427.2 24,114 9/14/2022
7.0.0-preview.7.22376.6 11,010 8/9/2022
7.0.0-preview.6.22330.3 4,223 7/12/2022
7.0.0-preview.5.22303.8 9,894 6/14/2022
7.0.0-preview.4.22251.1 2,450 5/10/2022
7.0.0-preview.3.22178.4 1,481 4/13/2022
7.0.0-preview.2.22153.2 1,307 3/14/2022
7.0.0-preview.1.22109.13 5,307 2/17/2022
6.0.36 1,932,462 11/12/2024
6.0.35 513,796 10/8/2024
6.0.33 1,731,247 8/13/2024
6.0.32 613,206 7/9/2024
6.0.31 837,822 5/28/2024
6.0.30 392,022 5/14/2024
6.0.29 1,094,315 4/9/2024
6.0.28 728,548 3/12/2024
6.0.27 1,238,602 2/13/2024
6.0.26 1,414,006 1/9/2024
6.0.25 2,314,202 11/14/2023
6.0.24 1,201,466 10/24/2023
6.0.23 903,134 10/10/2023
6.0.22 1,406,159 9/12/2023
6.0.21 2,040,851 8/8/2023
6.0.20 1,849,128 7/11/2023
6.0.19 1,217,622 6/22/2023
6.0.18 853,336 6/13/2023
6.0.16 3,721,527 4/11/2023
6.0.15 2,341,862 3/14/2023
6.0.14 2,659,962 2/14/2023
6.0.13 3,546,966 1/10/2023
6.0.12 3,187,009 12/13/2022
6.0.11 4,242,399 11/7/2022
6.0.10 5,844,732 10/11/2022
6.0.9 4,557,930 9/13/2022
6.0.8 5,351,733 8/9/2022
6.0.7 4,719,559 7/12/2022
6.0.6 3,642,082 6/14/2022
6.0.5 4,583,997 5/10/2022
6.0.4 4,296,137 4/11/2022
6.0.3 5,017,016 3/8/2022
6.0.2 4,145,254 2/8/2022
6.0.1 6,140,088 12/14/2021
6.0.0 7,447,281 11/8/2021
6.0.0-rc.2.21480.10 210,303 10/12/2021
6.0.0-rc.1.21452.15 177,927 9/14/2021
6.0.0-preview.7.21378.6 9,348 8/10/2021
6.0.0-preview.6.21355.2 5,505 7/14/2021
6.0.0-preview.5.21301.17 3,832 6/15/2021
6.0.0-preview.4.21253.5 7,001 5/24/2021
6.0.0-preview.3.21201.13 5,259 4/8/2021
6.0.0-preview.2.21154.6 1,298 3/11/2021 6.0.0-preview.2.21154.6 is deprecated because it is no longer maintained.
6.0.0-preview.1.21103.6 1,679 2/12/2021 6.0.0-preview.1.21103.6 is deprecated because it is no longer maintained.
5.0.17 1,214,707 5/10/2022 5.0.17 is deprecated because it is no longer maintained.
5.0.16 355,712 4/11/2022 5.0.16 is deprecated because it is no longer maintained.
5.0.15 473,372 3/8/2022 5.0.15 is deprecated because it is no longer maintained.
5.0.14 458,075 2/8/2022 5.0.14 is deprecated because it is no longer maintained.
5.0.13 887,822 12/14/2021 5.0.13 is deprecated because it is no longer maintained.
5.0.12 1,011,788 11/7/2021 5.0.12 is deprecated because it is no longer maintained.
5.0.11 1,670,313 10/12/2021 5.0.11 is deprecated because it is no longer maintained.
5.0.10 1,694,021 9/14/2021 5.0.10 is deprecated because it is no longer maintained.
5.0.9 1,788,951 8/10/2021 5.0.9 is deprecated because it is no longer maintained.
5.0.8 1,452,865 7/13/2021 5.0.8 is deprecated because it is no longer maintained.
5.0.7 1,891,146 6/8/2021 5.0.7 is deprecated because it is no longer maintained.
5.0.6 1,550,437 5/11/2021 5.0.6 is deprecated because it is no longer maintained.
5.0.5 2,124,067 4/6/2021 5.0.5 is deprecated because it is no longer maintained.
5.0.4 1,296,711 3/9/2021 5.0.4 is deprecated because it is no longer maintained.
5.0.3 1,514,437 2/9/2021 5.0.3 is deprecated because it is no longer maintained.
5.0.2 1,513,166 1/12/2021 5.0.2 is deprecated because it is no longer maintained.
5.0.1 1,106,289 12/8/2020 5.0.1 is deprecated because it is no longer maintained.
5.0.0 2,574,146 11/9/2020 5.0.0 is deprecated because it is no longer maintained.
5.0.0-rc.2.20475.17 18,263 10/13/2020 5.0.0-rc.2.20475.17 is deprecated because it is no longer maintained.
5.0.0-rc.1.20451.17 185,360 9/14/2020 5.0.0-rc.1.20451.17 is deprecated because it is no longer maintained.
5.0.0-preview.8.20414.8 9,669 8/25/2020 5.0.0-preview.8.20414.8 is deprecated because it is no longer maintained.
5.0.0-preview.7.20365.19 4,735 7/21/2020 5.0.0-preview.7.20365.19 is deprecated because it is no longer maintained.
5.0.0-preview.6.20312.15 2,402 6/25/2020 5.0.0-preview.6.20312.15 is deprecated because it is no longer maintained.
5.0.0-preview.5.20279.2 1,230 6/10/2020 5.0.0-preview.5.20279.2 is deprecated because it is no longer maintained.
5.0.0-preview.4.20257.10 1,908 5/18/2020 5.0.0-preview.4.20257.10 is deprecated because it is no longer maintained.
5.0.0-preview.3.20215.14 2,391 4/23/2020 5.0.0-preview.3.20215.14 is deprecated because it is no longer maintained.
5.0.0-preview.2.20167.3 1,182 4/2/2020 5.0.0-preview.2.20167.3 is deprecated because it is no longer maintained.
5.0.0-preview.1.20124.5 1,396 3/16/2020 5.0.0-preview.1.20124.5 is deprecated because it is no longer maintained.
3.1.32 981,596 12/13/2022
3.1.31 358,121 11/8/2022
3.1.30 901,435 10/11/2022
3.1.29 305,474 9/13/2022
3.1.28 357,314 8/9/2022
3.1.27 367,909 7/12/2022
3.1.26 358,322 6/14/2022
3.1.25 423,809 5/10/2022
3.1.24 387,932 4/11/2022
3.1.23 555,554 3/8/2022
3.1.22 1,166,378 12/14/2021
3.1.21 958,120 11/7/2021
3.1.20 873,531 10/11/2021
3.1.19 659,572 9/14/2021
3.1.18 1,252,290 8/10/2021
3.1.17 1,049,833 7/13/2021
3.1.16 960,808 6/8/2021
3.1.15 961,542 5/11/2021
3.1.14 1,980,950 4/6/2021
3.1.13 1,458,614 3/9/2021
3.1.12 1,176,115 2/9/2021
3.1.11 1,390,057 1/12/2021
3.1.10 3,290,507 11/9/2020
3.1.9 3,447,663 10/13/2020
3.1.8 3,469,475 9/8/2020
3.1.7 2,696,324 8/11/2020
3.1.6 2,638,928 7/14/2020
3.1.5 3,991,458 6/9/2020
3.1.4 2,517,455 5/12/2020
3.1.3 4,105,045 3/24/2020
3.1.2 3,105,363 2/18/2020
3.1.1 3,475,709 1/14/2020
3.1.0 3,603,505 12/3/2019
3.1.0-preview3.19555.2 3,732 11/13/2019 3.1.0-preview3.19555.2 is deprecated because it is no longer maintained.
3.1.0-preview2.19528.8 1,381 11/1/2019 3.1.0-preview2.19528.8 is deprecated because it is no longer maintained.
3.1.0-preview1.19508.20 1,999 10/15/2019 3.1.0-preview1.19508.20 is deprecated because it is no longer maintained.
3.0.3 436,645 2/18/2020 3.0.3 is deprecated because it is no longer maintained.
3.0.2 272,185 1/14/2020 3.0.2 is deprecated because it is no longer maintained.
3.0.0 4,632,824 9/23/2019 3.0.0 is deprecated because it is no longer maintained.
3.0.0-rc1.19457.4 16,059 9/16/2019 3.0.0-rc1.19457.4 is deprecated because it is no longer maintained.
3.0.0-preview9.19424.4 9,377 9/4/2019 3.0.0-preview9.19424.4 is deprecated because it is no longer maintained.
3.0.0-preview8.19405.7 38,674 8/13/2019 3.0.0-preview8.19405.7 is deprecated because it is no longer maintained.
3.0.0-preview7.19365.7 14,272 7/23/2019 3.0.0-preview7.19365.7 is deprecated because it is no longer maintained.
3.0.0-preview6.19307.2 7,531 6/12/2019 3.0.0-preview6.19307.2 is deprecated because it is no longer maintained.
3.0.0-preview5-19227-01 11,959 5/6/2019 3.0.0-preview5-19227-01 is deprecated because it is no longer maintained.
3.0.0-preview4-19216-03 2,565 4/18/2019 3.0.0-preview4-19216-03 is deprecated because it is no longer maintained.
3.0.0-preview3-19153-02 2,385 3/6/2019 3.0.0-preview3-19153-02 is deprecated because it is no longer maintained.
3.0.0-preview-19075-0444 7,765 1/29/2019 3.0.0-preview-19075-0444 is deprecated because it is no longer maintained.
3.0.0-preview-18579-0056 4,676 12/3/2018 3.0.0-preview-18579-0056 is deprecated because it is no longer maintained.
2.3.9 287 1/7/2026
2.3.8 147 1/7/2026
2.3.0 276,526 1/14/2025
2.2.0 13,363,545 12/3/2018 2.2.0 is deprecated because it is no longer maintained.
2.2.0-preview3-35497 24,017 10/17/2018 2.2.0-preview3-35497 is deprecated because it is no longer maintained.
2.2.0-preview2-35157 13,682 9/12/2018 2.2.0-preview2-35157 is deprecated because it is no longer maintained.
2.2.0-preview1-35029 14,264 8/22/2018 2.2.0-preview1-35029 is deprecated because it is no longer maintained.
2.1.1 7,668,549 6/18/2018
2.1.0 1,848,225 5/29/2018
2.1.0-rc1-final 37,965 5/6/2018 2.1.0-rc1-final is deprecated because it is no longer maintained.
2.1.0-preview2-final 13,863 4/10/2018 2.1.0-preview2-final is deprecated because it is no longer maintained.
2.1.0-preview1-final 29,559 2/26/2018 2.1.0-preview1-final is deprecated because it is no longer maintained.
2.0.3 463,863 5/7/2018 2.0.3 is deprecated because it is no longer maintained.
2.0.2 926,384 3/13/2018 2.0.2 is deprecated because it is no longer maintained.
2.0.1 1,509,917 11/14/2017 2.0.1 is deprecated because it is no longer maintained.
2.0.0 1,208,495 8/11/2017 2.0.0 is deprecated because it is no longer maintained.
2.0.0-preview2-final 10,628 6/28/2017 2.0.0-preview2-final is deprecated because it is no longer maintained.
2.0.0-preview1-final 21,366 5/10/2017 2.0.0-preview1-final is deprecated because it is no longer maintained.
1.1.3 330,532 9/20/2017 1.1.3 is deprecated because it is no longer maintained.
1.1.2 775,889 5/9/2017 1.1.2 is deprecated because it is no longer maintained.
1.1.1 476,120 3/6/2017 1.1.1 is deprecated because it is no longer maintained.
1.1.0 564,494 11/16/2016 1.1.0 is deprecated because it is no longer maintained.
1.1.0-preview1-final 6,259 10/24/2016 1.1.0-preview1-final is deprecated because it is no longer maintained.
1.0.5 218,828 11/14/2017 1.0.5 is deprecated because it is no longer maintained.
1.0.4 198,799 9/20/2017 1.0.4 is deprecated because it is no longer maintained.
1.0.3 251,489 5/9/2017 1.0.3 is deprecated because it is no longer maintained.
1.0.2 362,222 3/6/2017 1.0.2 is deprecated because it is no longer maintained.
1.0.1 208,800 12/12/2016 1.0.1 is deprecated because it is no longer maintained.
1.0.0 500,951 6/27/2016 1.0.0 is deprecated because it is no longer maintained.
1.0.0-rc2-final 16,685 5/16/2016 1.0.0-rc2-final is deprecated because it is no longer maintained.