WebApplicationFactory<TEntryPoint> 类

定义

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

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

类型参数

TEntryPoint

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

继承
WebApplicationFactory<TEntryPoint>
实现

构造函数

WebApplicationFactory<TEntryPoint>()

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

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

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

属性

ClientOptions

获取 WebApplicationFactoryClientOptions 使用的 CreateClient()

Factories

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

Server

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

Services

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

方法

ConfigureClient(HttpClient)

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

ConfigureWebHost(IWebHostBuilder)

为装置提供在构建应用程序之前对其进行配置的机会。

CreateClient()

创建 HttpClient 自动跟随重定向并处理 cookie 的实例。

CreateClient(WebApplicationFactoryClientOptions)

创建 HttpClient 自动跟随重定向并处理 cookie 的实例。

CreateDefaultClient(DelegatingHandler[])

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

CreateDefaultClient(Uri, DelegatingHandler[])

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

CreateHost(IHostBuilder)

IHost在中,用引导的应用程序创建 builder 。 仅对使用的应用程序调用此 IHostBuilder 。 基于的应用程序 IWebHostBuilderCreateServer(IWebHostBuilder) 改为使用。

CreateHostBuilder()

创建 IHostBuilder 用于设置的 TestServer

CreateServer(IWebHostBuilder)

TestServer在中,用引导的应用程序创建 builder 。 仅对使用的应用程序调用此 IWebHostBuilder 。 基于的应用程序 IHostBuilderCreateHost(IHostBuilder) 改为使用。

CreateWebHostBuilder()

创建 IWebHostBuilder 用于设置的 TestServer

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Dispose(Boolean)

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

Finalize()

完成类的实例 WebApplicationFactory<TEntryPoint>

GetTestAssemblies()

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

WithWebHostBuilder(Action<IWebHostBuilder>)

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

适用于