Compartilhar via


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> : 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

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

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 para o TestServer. O WebApplicationFactory<TEntryPoint> encontrará a classe de ponto de entrada do TEntryPoint assembly e inicializará o aplicativo chamando IWebHostBuilder CreateWebHostBuilder(string [] args) em TEntryPoint.

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> o fará fallback para pesquisar 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 do 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

ClientOptions

Obtém o WebApplicationFactoryClientOptions usado por CreateClient().

Factories

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

Server

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

Services

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

Métodos

ConfigureClient(HttpClient)

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

ConfigureWebHost(IWebHostBuilder)

Dá a um acessório a oportunidade de configurar o aplicativo antes que ele seja criado.

CreateClient()

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

CreateClient(WebApplicationFactoryClientOptions)

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

CreateDefaultClient(DelegatingHandler[])

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

CreateDefaultClient(Uri, DelegatingHandler[])

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

CreateHost(IHostBuilder)

Cria o IHost com o aplicativo inicializado 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(IWebHostBuilder)

Cria o TestServer com o aplicativo inicializado 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)

Realiza tarefas definidas pelo aplicativo associadas à 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.

WithWebHostBuilder(Action<IWebHostBuilder>)

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

Aplica-se a