Lingua

WebApplicationFactory<TEntryPoint> Classe

Definizione

Factory per il bootstrap di un'applicazione in memoria per i test end-to-end funzionali.

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

Parametri di tipo

TEntryPoint

Tipo nell'assembly del punto di ingresso dell'applicazione. In genere è possibile usare le classi Startup o Program.

Ereditarietà
WebApplicationFactory<TEntryPoint>
Implementazioni

Costruttori

Nome Descrizione
WebApplicationFactory<TEntryPoint>()

Crea un'istanza di WebApplicationFactory<TEntryPoint>. Questa factory può essere usata per creare un'istanza TestServer usando l'applicazione MVC definita da TEntryPoint e una o più HttpClient istanze usate per l'invio HttpRequestMessageTestServera . trova WebApplicationFactory<TEntryPoint> la classe del punto di ingresso dell'assembly TEntryPoint e inizializza l'applicazione chiamando IWebHostBuilder CreateWebHostBuilder(string [] args) su TEntryPoint.

Questo costruttore dedurrà il percorso radice del contenuto dell'applicazione eseguendo una ricerca WebApplicationFactoryContentRootAttribute nell'assembly contenente i test funzionali con una chiave uguale all'assembly TEntryPointFullName. Nel caso in cui non sia possibile trovare un attributo con la chiave corretta, WebApplicationFactory<TEntryPoint> eseguirà il fallback alla ricerca di un file di soluzione (*.sln) e quindi accodando TEntryPoint il nome dell'assembly alla directory della soluzione. La directory radice dell'applicazione verrà usata per individuare visualizzazioni e file di contenuto.

Gli assembly dell'applicazione verranno caricati dal contesto di dipendenza dell'assembly contenente TEntryPoint. Ciò significa che le dipendenze del progetto dell'assembly contenente TEntryPoint verranno caricate come assembly dell'applicazione.

Proprietà

Nome Descrizione
ClientOptions

Ottiene l'oggetto WebApplicationFactoryClientOptions utilizzato da CreateClient().

Factories

Ottiene l'oggetto IReadOnlyList<T> delle factory create da questa factory personalizzando ulteriormente l'oggetto IWebHostBuilder quando si chiama WithWebHostBuilder(Action<IWebHostBuilder>).

Server

Ottiene l'oggetto creato dall'oggetto TestServerWebApplicationFactory<TEntryPoint>.

Services

Ottiene l'oggetto IServiceProvider creato dal server associato all'oggetto WebApplicationFactory<TEntryPoint>.

Metodi

Nome Descrizione
ConfigureClient(HttpClient)

Configura le HttpClient istanze create da questo WebApplicationFactory<TEntryPoint>oggetto .

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

Offre a una fixture l'opportunità di configurare il generatore di applicazioni. Questo metodo verrà chiamato molto presto, durante la chiamata del punto di ingresso a WebApplication.CreateBuilder.

ConfigureWebHost(IWebHostBuilder)

Offre a una fixture l'opportunità di configurare l'applicazione prima che venga compilata.

CreateClient()

Crea un'istanza di HttpClient che segue automaticamente i reindirizzamenti e gestisce i cookie.

CreateClient(WebApplicationFactoryClientOptions)

Crea un'istanza di HttpClient che segue automaticamente i reindirizzamenti e gestisce i cookie.

CreateDefaultClient(DelegatingHandler[])

Crea una nuova istanza di un oggetto HttpClient che può essere utilizzato per l'invio HttpRequestMessage al server. L'indirizzo di base dell'istanza HttpClient verrà impostato su http://localhost.

CreateDefaultClient(Uri, DelegatingHandler[])

Crea una nuova istanza di un oggetto HttpClient che può essere utilizzato per l'invio HttpRequestMessage al server.

CreateHost(IHostBuilder)

IHost Crea con l'applicazione di avvio automatico in builder. Viene chiamato solo per le applicazioni che usano IHostBuilder. Le applicazioni basate su IWebHostBuilder useranno CreateServer(IWebHostBuilder) invece.

CreateHostBuilder()

Crea un IHostBuilder oggetto utilizzato per configurare TestServer.

CreateServer(IServiceProvider)

Crea con l'oggetto TestServerIServiceProvider dall'applicazione di avvio automatico. Viene chiamato solo per le applicazioni che usano IHostBuilder. Le applicazioni basate su IWebHostBuilder useranno CreateHost(IHostBuilder) invece.

CreateServer(IWebHostBuilder)
Obsoleti.

TestServer Crea con l'applicazione di avvio automatico in builder. Viene chiamato solo per le applicazioni che usano IWebHostBuilder. Le applicazioni basate su IHostBuilder useranno CreateHost(IHostBuilder) invece.

CreateWebHostBuilder()

Crea un IWebHostBuilder oggetto utilizzato per configurare TestServer.

Dispose()

Factory per il bootstrap di un'applicazione in memoria per i test end-to-end funzionali.

Dispose(Boolean)

Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite.

DisposeAsync()

Factory per il bootstrap di un'applicazione in memoria per i test end-to-end funzionali.

Finalize()

Finalizza un'istanza della WebApplicationFactory<TEntryPoint> classe .

GetTestAssemblies()

Ottiene gli assembly contenenti i test funzionali. L'oggetto WebApplicationFactoryContentRootAttribute applicato a questi assembly definisce la radice del contenuto da usare per l'oggetto specificato TEntryPoint.

StartServer()

Inizializza l'istanza configurando il generatore di host.

UseKestrel()

Configura la factory per l'uso di Kestrel come server.

UseKestrel(Action<KestrelServerOptions>)

Configura la factory per l'uso di Kestrel come server.

UseKestrel(Int32)

Configura la factory per l'uso di Kestrel come server.

WithWebHostBuilder(Action<IWebHostBuilder>)

Crea un nuovo WebApplicationFactory<TEntryPoint> oggetto con un IWebHostBuilder oggetto ulteriormente personalizzato da configuration.

Si applica a