Idioma

WebApplicationFactory<TEntryPoint> Classe

Definição

Fábrica para inicializar um aplicativo na memória para testes funcionais de ponta a ponta.

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

Parâmetros de tipo

TEntryPoint

Um tipo no assembly do ponto de entrada do aplicativo. Normalmente, as classes Inicialização ou Programa podem ser usadas.

Herança
WebApplicationFactory<TEntryPoint>
Implementações

Construtores

Nome Description
WebApplicationFactory<TEntryPoint>()

Cria uma instância de WebApplicationFactory<TEntryPoint>. Essa fábrica pode ser usada para criar uma TestServer instância usando o aplicativo MVC definido por TEntryPoint e uma ou mais HttpClient instâncias usadas para enviar HttpRequestMessage ao TestServer. A WebApplicationFactory<TEntryPoint> classe de ponto de entrada do TEntryPoint assembly será encontrada e inicializará o aplicativo chamandoTEntryPointIWebHostBuilder CreateWebHostBuilder(string [] args).

Esse construtor inferirá o caminho raiz do conteúdo do aplicativo pesquisando um WebApplicationFactoryContentRootAttribute no assembly que contém os testes funcionais com uma chave igual ao TEntryPoint assembly FullName. Caso um atributo com a chave certa não possa ser encontrado, WebApplicationFactory<TEntryPoint> ele voltará a procurar um arquivo de solução (*.sln) e, em seguida, acrescentará TEntryPoint o nome do assembly ao diretório da solução. O diretório raiz do aplicativo será usado para descobrir exibições e arquivos de conteúdo.

Os assemblies de aplicativo serão carregados do contexto de dependência do assembly que contém TEntryPoint. Isso significa que as dependências de projeto do assembly que contém TEntryPoint serão carregadas como assemblies de aplicativo.

Propriedades

Nome Description
ClientOptions

Obtém o WebApplicationFactoryClientOptions usado por CreateClient().

Factories

Obtém as IReadOnlyList<T> fábricas criadas a partir desta fábrica personalizando ainda mais a IWebHostBuilder chamada WithWebHostBuilder(Action<IWebHostBuilder>).

Server

Obtém o TestServer criado por este WebApplicationFactory<TEntryPoint>.

Services

Obtém o IServiceProvider criado pelo servidor associado a isso WebApplicationFactory<TEntryPoint>.

Métodos

Nome Description
ConfigureClient(HttpClient)

Configura instâncias HttpClient criadas por isso WebApplicationFactory<TEntryPoint>.

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

Dá a uma instalação uma oportunidade de configurar o construtor de aplicativos. Esse método será chamado muito cedo, durante a chamada do ponto de entrada para WebApplication.CreateBuilder.

ConfigureWebHost(IWebHostBuilder)

Dá a uma instalação uma oportunidade de configurar o aplicativo antes que ele seja criado.

CreateClient()

Cria uma instância que HttpClient segue automaticamente redirecionamentos e manipula cookies.

CreateClient(WebApplicationFactoryClientOptions)

Cria uma instância que HttpClient segue automaticamente redirecionamentos e manipula cookies.

CreateDefaultClient(DelegatingHandler[])

Cria uma nova instância de uma HttpClient que pode ser usada para enviar HttpRequestMessage ao servidor. O endereço base da HttpClient instância será definido como http://localhost.

CreateDefaultClient(Uri, DelegatingHandler[])

Cria uma nova instância de uma HttpClient que pode ser usada para enviar HttpRequestMessage ao servidor.

CreateHost(IHostBuilder)

Cria o IHost aplicativo com inicialização em builder. Isso só é chamado para aplicativos que usam IHostBuilder. Em vez disso, os aplicativos baseados IWebHostBuilder em usarão CreateServer(IWebHostBuilder) .

CreateHostBuilder()

Cria um IHostBuilder usado para configurar TestServer.

CreateServer(IServiceProvider)

Cria o TestServer com o IServiceProvider aplicativo inicializado. Isso só é chamado para aplicativos que usam IHostBuilder. Em vez disso, os aplicativos baseados IWebHostBuilder em usarão CreateHost(IHostBuilder) .

CreateServer(IWebHostBuilder)
Obsoleto.

Cria o TestServer aplicativo com inicialização em builder. Isso só é chamado para aplicativos que usam IWebHostBuilder. Em vez disso, os aplicativos baseados IHostBuilder em usarão CreateHost(IHostBuilder) .

CreateWebHostBuilder()

Cria um IWebHostBuilder usado para configurar TestServer.

Dispose()

Fábrica para inicializar um aplicativo na memória para testes funcionais de ponta a ponta.

Dispose(Boolean)

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

DisposeAsync()

Fábrica para inicializar um aplicativo na memória para testes funcionais de ponta a ponta.

Finalize()

Finaliza uma instância da WebApplicationFactory<TEntryPoint> classe.

GetTestAssemblies()

Obtém os assemblies que contêm os testes funcionais. O WebApplicationFactoryContentRootAttribute aplicado a esses assemblies define a raiz de conteúdo a ser usada para o determinado TEntryPoint.

StartServer()

Inicializa a instância configurando o construtor de host.

UseKestrel()

Configura a fábrica para usar o Kestrel como servidor.

UseKestrel(Action<KestrelServerOptions>)

Configura a fábrica para usar o Kestrel como servidor.

UseKestrel(Int32)

Configura a fábrica para usar o Kestrel como servidor.

WithWebHostBuilder(Action<IWebHostBuilder>)

Cria um novo WebApplicationFactory<TEntryPoint> com um IWebHostBuilder que é mais personalizado por configuration.

Aplica-se a