Langue

WebApplicationFactory<TEntryPoint> Classe

Définition

Fabrique pour démarrer une application en mémoire pour les tests de bout en bout fonctionnels.

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

Paramètres de type

TEntryPoint

Type dans l’assembly de point d’entrée de l’application. En règle générale, les classes Startup ou Program peuvent être utilisées.

Héritage
WebApplicationFactory<TEntryPoint>
Implémente

Constructeurs

Nom Description
WebApplicationFactory<TEntryPoint>()

Crée une instance de WebApplicationFactory<TEntryPoint>. Cette fabrique peut être utilisée pour créer une TestServer instance à l’aide de l’application MVC définie par TEntryPoint et d’une ou plusieurs HttpClient instances utilisées pour envoyer HttpRequestMessage à l’instance TestServer. La WebApplicationFactory<TEntryPoint> classe de point d’entrée de l’assembly TEntryPoint et initialise l’application en appelant IWebHostBuilder CreateWebHostBuilder(string [] args)TEntryPoint.

Ce constructeur déduit le chemin racine du contenu de l’application en recherchant un WebApplicationFactoryContentRootAttribute sur l’assembly contenant les tests fonctionnels avec une clé égale à l’assembly TEntryPointFullName. Si aucun attribut avec la clé appropriée n’est trouvé, WebApplicationFactory<TEntryPoint> revient à rechercher un fichier de solution (*.sln), puis à ajouter TEntryPoint le nom de l’assembly au répertoire de la solution. Le répertoire racine de l’application sera utilisé pour découvrir les vues et les fichiers de contenu.

Les assemblys d’application seront chargés à partir du contexte de dépendance de l’assembly contenant TEntryPoint. Cela signifie que les dépendances de projet de l’assembly contenant TEntryPoint seront chargées en tant qu’assemblys d’application.

Propriétés

Nom Description
ClientOptions

Obtient l’objet WebApplicationFactoryClientOptions utilisé par CreateClient().

Factories

Obtient les IReadOnlyList<T> fabriques créées à partir de cette fabrique en personnalisant davantage le lors de l’appel IWebHostBuilderWithWebHostBuilder(Action<IWebHostBuilder>).

Server

Obtient le TestServer fichier créé par ce WebApplicationFactory<TEntryPoint>fichier .

Services

Obtient la IServiceProvider valeur créée par le serveur associé à ce WebApplicationFactory<TEntryPoint>fichier .

Méthodes

Nom Description
ConfigureClient(HttpClient)

Configure les instances créées HttpClient par ce WebApplicationFactory<TEntryPoint>paramètre .

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

Donne une possibilité de configurer le générateur d’applications. Cette méthode sera appelée très tôt, pendant l’appel du point d’entrée à WebApplication.CreateBuilder.

ConfigureWebHost(IWebHostBuilder)

Donne une possibilité de configurer l’application avant de la générer.

CreateClient()

Crée une instance de HttpClient ce qui suit automatiquement les redirections et gère les cookies.

CreateClient(WebApplicationFactoryClientOptions)

Crée une instance de HttpClient ce qui suit automatiquement les redirections et gère les cookies.

CreateDefaultClient(DelegatingHandler[])

Crée une instance d’une HttpClient instance qui peut être utilisée pour envoyer HttpRequestMessage au serveur. L’adresse de base de l’instance HttpClient est définie sur http://localhost.

CreateDefaultClient(Uri, DelegatingHandler[])

Crée une instance d’une HttpClient instance qui peut être utilisée pour envoyer HttpRequestMessage au serveur.

CreateHost(IHostBuilder)

Crée l’application IHost démarrée dans builder. Cela est uniquement appelé pour les applications utilisant IHostBuilder. Les applications basées sur IWebHostBuilder utiliseront CreateServer(IWebHostBuilder) à la place.

CreateHostBuilder()

Crée un IHostBuilder élément utilisé pour configurer TestServer.

CreateServer(IServiceProvider)

Crée l’objet TestServer with the IServiceProvider from the bootstrapped application. Cela est uniquement appelé pour les applications utilisant IHostBuilder. Les applications basées sur IWebHostBuilder utiliseront CreateHost(IHostBuilder) à la place.

CreateServer(IWebHostBuilder)
Obsolète.

Crée l’application TestServer démarrée dans builder. Cela est uniquement appelé pour les applications utilisant IWebHostBuilder. Les applications basées sur IHostBuilder utiliseront CreateHost(IHostBuilder) à la place.

CreateWebHostBuilder()

Crée un IWebHostBuilder élément utilisé pour configurer TestServer.

Dispose()

Fabrique pour démarrer une application en mémoire pour les tests de bout en bout fonctionnels.

Dispose(Boolean)

Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation des ressources non managées.

DisposeAsync()

Fabrique pour démarrer une application en mémoire pour les tests de bout en bout fonctionnels.

Finalize()

Finalise une instance de la WebApplicationFactory<TEntryPoint> classe.

GetTestAssemblies()

Obtient les assemblys contenant les tests fonctionnels. L’application WebApplicationFactoryContentRootAttribute à ces assemblys définit la racine de contenu à utiliser pour l’élément donné TEntryPoint.

StartServer()

Initialise l’instance en configurant le générateur d’hôtes.

UseKestrel()

Configure la fabrique pour utiliser Kestrel comme serveur.

UseKestrel(Action<KestrelServerOptions>)

Configure la fabrique pour utiliser Kestrel comme serveur.

UseKestrel(Int32)

Configure la fabrique pour utiliser Kestrel comme serveur.

WithWebHostBuilder(Action<IWebHostBuilder>)

Crée un nouveau WebApplicationFactory<TEntryPoint> avec un IWebHostBuilder élément personnalisé par configuration.

S’applique à