Freigeben über


WebApplicationFactory<TEntryPoint> Klasse

Definition

Factory zum Bootstrapping einer Anwendung im Arbeitsspeicher für funktionale End-to-End-Tests.

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

Typparameter

TEntryPoint

Ein Typ in der Einstiegspunktassembly der Anwendung. In der Regel können die Start- oder Programmklassen verwendet werden.

Vererbung
WebApplicationFactory<TEntryPoint>
Implementiert

Konstruktoren

WebApplicationFactory<TEntryPoint>()

Erstellt eine Instanz von WebApplicationFactory<TEntryPoint>. Diese Factory kann verwendet werden, um eine TestServer instance mithilfe der von definierten TEntryPoint MVC-Anwendung und einer oder HttpClient mehreren Instanzen zu erstellen, die zum Senden HttpRequestMessage an den TestSerververwendet werden. Der WebApplicationFactory<TEntryPoint> sucht die Einstiegspunktklasse der TEntryPoint Assembly und initialisiert die Anwendung durch Aufrufen IWebHostBuilder CreateWebHostBuilder(string [] args)TEntryPointvon .

Dieser Konstruktor leitet den Stammpfad des Anwendungsinhalts ab, indem er WebApplicationFactoryContentRootAttribute für die Assembly sucht, die die Funktionstests mit einem Schlüssel gleich der TEntryPoint Assembly FullNameenthält. Falls ein Attribut mit dem richtigen Schlüssel nicht gefunden werden kann, WebApplicationFactory<TEntryPoint> greifen Sie auf die Suche nach einer Lösungsdatei (*.sln) zurück, und fügen Sie dann den Assemblynamen an das Projektmappenverzeichnis an TEntryPoint . Das Anwendungsstammverzeichnis wird verwendet, um Ansichten und Inhaltsdateien zu ermitteln.

Die Anwendungsassemblys werden aus dem Abhängigkeitskontext der Assembly geladen, die enthält TEntryPoint. Dies bedeutet, dass Projektabhängigkeiten der Assembly, die enthält, TEntryPoint als Anwendungsassemblys geladen werden.

Eigenschaften

ClientOptions

Ruft die WebApplicationFactoryClientOptions von verwendet ab CreateClient().

Factories

Ruft die der Fabriken ab, die IReadOnlyList<T> aus dieser Factory erstellt wurden, indem Sie die IWebHostBuilder beim Aufrufen WithWebHostBuilder(Action<IWebHostBuilder>)weiter anpassen.

Server

Ruft den von der TestServer erstellten WebApplicationFactory<TEntryPoint> ab.

Services

Ruft die ab, die IServiceProvider vom Server erstellt wurde, der diesem zugeordnet ist WebApplicationFactory<TEntryPoint>.

Methoden

ConfigureClient(HttpClient)

HttpClient Konfiguriert Instanzen, die von diesem WebApplicationFactory<TEntryPoint>erstellt werden.

ConfigureWebHost(IWebHostBuilder)

Bietet einer Vorrichtung die Möglichkeit, die Anwendung zu konfigurieren, bevor sie erstellt wird.

CreateClient()

Erstellt eine instance vonHttpClient, die automatisch auf Umleitungen folgt und Cookies verarbeitet.

CreateClient(WebApplicationFactoryClientOptions)

Erstellt eine instance vonHttpClient, die automatisch auf Umleitungen folgt und Cookies verarbeitet.

CreateDefaultClient(DelegatingHandler[])

Erstellt eine neue instance einerHttpClient, die zum Senden HttpRequestMessage an den Server verwendet werden kann. Die Basisadresse des HttpClient instance wird auf http://localhostfestgelegt.

CreateDefaultClient(Uri, DelegatingHandler[])

Erstellt eine neue instance einerHttpClient, die zum Senden HttpRequestMessage an den Server verwendet werden kann.

CreateHost(IHostBuilder)

Erstellt mit IHost der bootstrappierten Anwendung in builder. Dies wird nur für Anwendungen aufgerufen, die verwenden IHostBuilder. Stattdessen werden Anwendungen verwendetCreateServer(IWebHostBuilder), die auf basierenIWebHostBuilder.

CreateHostBuilder()

Erstellt einen IHostBuilder , der zum Einrichten TestSerververwendet wird.

CreateServer(IWebHostBuilder)

Erstellt mit TestServer der bootstrappierten Anwendung in builder. Dies wird nur für Anwendungen aufgerufen, die verwenden IWebHostBuilder. Stattdessen werden Anwendungen verwendetCreateHost(IHostBuilder), die auf basierenIHostBuilder.

CreateWebHostBuilder()

Erstellt einen IWebHostBuilder , der zum Einrichten TestSerververwendet wird.

Dispose()

Factory zum Bootstrapping einer Anwendung im Arbeitsspeicher für funktionale End-to-End-Tests.

Dispose(Boolean)

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

DisposeAsync()

Factory zum Bootstrapping einer Anwendung im Arbeitsspeicher für funktionale End-to-End-Tests.

Finalize()

Schließt eine instance der WebApplicationFactory<TEntryPoint> -Klasse ab.

GetTestAssemblies()

Ruft die Assemblys ab, die die Funktionstests enthalten. Das WebApplicationFactoryContentRootAttribute auf diese Assemblys angewendete definiert den Inhaltsstamm, der für die angegebene TEntryPointverwendet werden soll.

WithWebHostBuilder(Action<IWebHostBuilder>)

Erstellt eine neue WebApplicationFactory<TEntryPoint> mit einer IWebHostBuilder , die von configurationweiter angepasst wird.

Gilt für: