WebApplicationFactory<TEntryPoint> Třída

Definice

Factory pro zavedení aplikace v paměti pro koncové testy.

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

Parametry typu

TEntryPoint

Typ v sestavení vstupního bodu aplikace. Obvykle lze použít třídy Startup nebo program.

Dědičnost
WebApplicationFactory<TEntryPoint>
Implementuje

Konstruktory

WebApplicationFactory<TEntryPoint>()

Vytvoří instanci WebApplicationFactory<TEntryPoint> . Tento objekt pro vytváření lze použít k vytvoření TestServer instance pomocí aplikace MVC definované pomocí TEntryPoint a jedné nebo více HttpClient instancí, které byly použity k odeslání HttpRequestMessage do TestServer . WebApplicationFactory<TEntryPoint>Vyhledá třídu vstupního bodu TEntryPoint sestavení a Inicializuje aplikaci voláním IWebHostBuilder CreateWebHostBuilder (String [] args) na TEntryPoint .

Tento konstruktor odvodí kořenovou cestu obsahu aplikace hledáním WebApplicationFactoryContentRootAttribute na sestavení, které obsahuje funkční testy s klíčem, který je roven TEntryPoint sestavení FullName . V případě, že atribut se správným klíčem nebyl nalezen, vrátí WebApplicationFactory<TEntryPoint> se zpět k hledání souboru řešení (*. sln) a poté připojí TEntryPoint název sestavení k adresáři řešení. Kořenový adresář aplikace bude použit k vyhledání zobrazení a souborů obsahu.

Sestavení aplikace budou načtena z kontextu závislosti sestavení obsahujícího TEntryPoint . To znamená, že závislosti projektu sestavení, které obsahuje, TEntryPoint budou načteny jako sestavení aplikace.

Vlastnosti

ClientOptions

Získá, kterou WebApplicationFactoryClientOptions používá CreateClient() .

Factories

Získá IReadOnlyList<T> továrny vytvořené z tohoto objektu factory pomocí dalšího přizpůsobení IWebHostBuilder při volání metody WithWebHostBuilder(Action<IWebHostBuilder>) .

Server

Získá TestServer vytvořenou WebApplicationFactory<TEntryPoint> .

Services

Získá IServiceProvider vytvořenou serverem přidruženým k tomuto WebApplicationFactory<TEntryPoint> .

Metody

ConfigureClient(HttpClient)

Nakonfiguruje HttpClient instance vytvořené tímto WebApplicationFactory<TEntryPoint> .

ConfigureWebHost(IWebHostBuilder)

Dává přípravnou příležitost ke konfiguraci aplikace před sestavením.

CreateClient()

Vytvoří instanci HttpClient , která se automaticky sleduje a zpracovává soubory cookie.

CreateClient(WebApplicationFactoryClientOptions)

Vytvoří instanci HttpClient , která se automaticky sleduje a zpracovává soubory cookie.

CreateDefaultClient(DelegatingHandler[])

Vytvoří novou instanci HttpClient , která se dá použít k odeslání HttpRequestMessage na server. Základní adresa HttpClient instance bude nastavena na http://localhost .

CreateDefaultClient(Uri, DelegatingHandler[])

Vytvoří novou instanci HttpClient , která se dá použít k odeslání HttpRequestMessage na server.

CreateHost(IHostBuilder)

Vytvoří IHost s nahlášenou aplikací v builder . Tato metoda se volá jenom pro aplikace IHostBuilder , které používají. IWebHostBuilderMísto toho se použijí aplikace založené na CreateServer(IWebHostBuilder) .

CreateHostBuilder()

Vytvoří objekt, který IHostBuilder se použije k nastavení TestServer .

CreateServer(IWebHostBuilder)

Vytvoří TestServer s nahlášenou aplikací v builder . Tato metoda se volá jenom pro aplikace IWebHostBuilder , které používají. IHostBuilderMísto toho se použijí aplikace založené na CreateHost(IHostBuilder) .

CreateWebHostBuilder()

Vytvoří objekt, který IWebHostBuilder se použije k nastavení TestServer .

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Dispose(Boolean)

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

Finalize()

Dokončí instanci WebApplicationFactory<TEntryPoint> třídy.

GetTestAssemblies()

Načte sestavení obsahující funkční testy. WebApplicationFactoryContentRootAttributePoužitá na tato sestavení definují kořen obsahu, který se má použít pro daný TEntryPoint .

WithWebHostBuilder(Action<IWebHostBuilder>)

Vytvoří nový WebApplicationFactory<TEntryPoint> s objektem IWebHostBuilder , který je dále přizpůsoben configuration .

Platí pro