WebApplicationFactory<TEntryPoint> 类

定义

用于在内存中引导应用程序进行功能端到端测试的工厂。

generic <typename TEntryPoint>
 where TEntryPoint : classpublic ref class WebApplicationFactory : IDisposable
public class WebApplicationFactory<TEntryPoint> : IDisposable where TEntryPoint : class
public class WebApplicationFactory<TEntryPoint> : IAsyncDisposable, IDisposable where TEntryPoint : class
type WebApplicationFactory<'EntryPoint (requires 'EntryPoint : null)> = class
    interface IDisposable
type WebApplicationFactory<'EntryPoint (requires 'EntryPoint : null)> = class
    interface IDisposable
    interface IAsyncDisposable
Public Class WebApplicationFactory(Of TEntryPoint)
Implements IDisposable
Public Class WebApplicationFactory(Of TEntryPoint)
Implements IAsyncDisposable, IDisposable

类型参数

TEntryPoint

应用程序的入口点程序集中的类型。 通常可以使用 Startup 或 Program 类。

继承
WebApplicationFactory<TEntryPoint>
实现

构造函数

WebApplicationFactory<TEntryPoint>()

创建 WebApplicationFactory<TEntryPoint> 的实例。 此工厂可用于使用由 TEntryPoint 定义的 MVC 应用程序以及用于发送到 HttpRequestMessageTestServer一个或多个HttpClient实例创建TestServer实例。 WebApplicationFactory<TEntryPoint>将查找程序集的TEntryPoint入口点类,并通过在 上TEntryPoint调用 IWebHostBuilder CreateWebHostBuilder(string [] args) 来初始化应用程序。

此构造函数将通过在包含键等于TEntryPointFullName程序集 的功能测试的程序集上搜索 WebApplicationFactoryContentRootAttribute 来推断应用程序内容根路径。 如果找不到具有正确键的属性, WebApplicationFactory<TEntryPoint> 将回退到搜索解决方案文件 (*.sln) ,然后将程序集名称追加 TEntryPoint 到解决方案目录。 应用程序根目录将用于发现视图和内容文件。

应用程序程序集将从包含 TEntryPoint的程序集的依赖项上下文中加载。 这意味着,包含 TEntryPoint 的程序集的项目依赖项将作为应用程序程序集加载。

属性

ClientOptions

获取 WebApplicationFactoryClientOptions 使用的 CreateClient()

Factories

IReadOnlyList<T>通过在调用 WithWebHostBuilder(Action<IWebHostBuilder>)时进一步自定义 IWebHostBuilder 来获取从此工厂创建的工厂的 。

Server

获取由此 TestServer 创建的 WebApplicationFactory<TEntryPoint>

Services

IServiceProvider获取由与此 关联的WebApplicationFactory<TEntryPoint>服务器创建的 。

方法

ConfigureClient(HttpClient)

HttpClient配置由此 WebApplicationFactory<TEntryPoint>创建的实例。

ConfigureWebHost(IWebHostBuilder)

使固定装置有机会在生成应用程序之前对其进行配置。

CreateClient()

创建自动跟踪重定向并处理 Cookie 的 实例 HttpClient

CreateClient(WebApplicationFactoryClientOptions)

创建自动跟踪重定向并处理 Cookie 的 实例 HttpClient

CreateDefaultClient(DelegatingHandler[])

创建可用于发送到HttpRequestMessage服务器的 的新实例HttpClient。 实例的 HttpClient 基址将设置为 http://localhost

CreateDefaultClient(Uri, DelegatingHandler[])

创建可用于发送到HttpRequestMessage服务器的 的新实例HttpClient

CreateHost(IHostBuilder)

IHost使用 中的builder启动应用程序创建 。 这仅针对使用 IHostBuilder的应用程序调用。 基于 的应用程序 IWebHostBuilder 将改用 CreateServer(IWebHostBuilder)

CreateHostBuilder()

IHostBuilder创建用于设置 的 TestServer

CreateServer(IWebHostBuilder)

TestServer使用 中的builder启动应用程序创建 。 这仅针对使用 IWebHostBuilder的应用程序调用。 基于 的应用程序 IHostBuilder 将改用 CreateHost(IHostBuilder)

CreateWebHostBuilder()

IWebHostBuilder创建用于设置 的 TestServer

Dispose()

用于在内存中引导应用程序进行功能端到端测试的工厂。

Dispose(Boolean)

执行与释放或重置非托管资源关联的应用程序定义的任务。

DisposeAsync()

用于在内存中引导应用程序进行功能端到端测试的工厂。

Finalize()

完成 类的 WebApplicationFactory<TEntryPoint> 实例。

GetTestAssemblies()

获取包含功能测试的程序集。 WebApplicationFactoryContentRootAttribute应用于这些程序集的 定义要用于给定 TEntryPoint的内容根。

WithWebHostBuilder(Action<IWebHostBuilder>)

使用 创建一个新的 WebApplicationFactory<TEntryPoint>IWebHostBuilder ,它由 configuration进一步自定义。

适用于