Język

WebApplicationFactory<TEntryPoint> Klasa

Definicja

Fabryka na potrzeby uruchamiania aplikacji w pamięci w celu zakończenia testów funkcjonalnych.

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

Parametry typu

TEntryPoint

Typ w zestawie punktu wejścia aplikacji. Zazwyczaj można użyć klas Startup lub Program.

Dziedziczenie
WebApplicationFactory<TEntryPoint>
Implementuje

Konstruktory

Nazwisko Opis
WebApplicationFactory<TEntryPoint>()

Tworzy wystąpienie klasy WebApplicationFactory<TEntryPoint>. Ta fabryka może służyć do tworzenia TestServer wystąpienia przy użyciu aplikacji MVC zdefiniowanej przez TEntryPoint program i co najmniej jednego HttpClient wystąpienia używanego do wysyłania HttpRequestMessage do obiektu TestServer. Element WebApplicationFactory<TEntryPoint> znajdzie klasę TEntryPoint punktu wejścia zestawu i zainicjuje aplikację przez wywołanie metody IWebHostBuilder CreateWebHostBuilder(string [] args) .TEntryPoint

Ten konstruktor wywnioskuje ścieżkę katalogu głównego zawartości aplikacji, wyszukując WebApplicationFactoryContentRootAttribute element w zestawie zawierającym testy funkcjonalne z kluczem równym zestawowi TEntryPointFullName. Jeśli nie można odnaleźć atrybutu z odpowiednim kluczem, WebApplicationFactory<TEntryPoint> powróci do wyszukiwania pliku rozwiązania (*.sln), a następnie dołączania TEntryPoint nazwy zestawu do katalogu rozwiązania. Katalog główny aplikacji będzie używany do odnajdywania widoków i plików zawartości.

Zestawy aplikacji zostaną załadowane z kontekstu zależności zestawu zawierającego TEntryPointelement . Oznacza to, że zależności projektu zestawu zawierającego TEntryPoint zostaną załadowane jako zestawy aplikacji.

Właściwości

Nazwisko Opis
ClientOptions

Pobiera element WebApplicationFactoryClientOptions używany przez CreateClient()program .

Factories

IReadOnlyList<T> Pobiera fabryki utworzone z tej fabryki, dodatkowo dostosowując IWebHostBuilder element podczas wywoływania metody WithWebHostBuilder(Action<IWebHostBuilder>).

Server

Pobiera utworzony TestServer przez ten WebApplicationFactory<TEntryPoint>element .

Services

Pobiera utworzony IServiceProvider przez serwer skojarzony z tym WebApplicationFactory<TEntryPoint>elementem .

Metody

Nazwisko Opis
ConfigureClient(HttpClient)

Konfiguruje HttpClient wystąpienia utworzone przez ten WebApplicationFactory<TEntryPoint>program .

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

Umożliwia skonfigurowanie konstruktora aplikacji. Ta metoda zostanie wywołana bardzo wcześnie podczas wywołania punktu wejścia do elementu WebApplication.CreateBuilder.

ConfigureWebHost(IWebHostBuilder)

Daje urządzeniu możliwość skonfigurowania aplikacji przed jej skompilowanie.

CreateClient()

Tworzy wystąpienie, HttpClient które automatycznie śledzi przekierowania i obsługuje pliki cookie.

CreateClient(WebApplicationFactoryClientOptions)

Tworzy wystąpienie, HttpClient które automatycznie śledzi przekierowania i obsługuje pliki cookie.

CreateDefaultClient(DelegatingHandler[])

Tworzy nowe wystąpienie obiektu HttpClient , które może służyć do wysyłania HttpRequestMessage do serwera. Podstawowy adres HttpClient wystąpienia zostanie ustawiony na http://localhostwartość .

CreateDefaultClient(Uri, DelegatingHandler[])

Tworzy nowe wystąpienie obiektu HttpClient , które może służyć do wysyłania HttpRequestMessage do serwera.

CreateHost(IHostBuilder)

Tworzy element za IHost pomocą bootstrapped aplikacji w pliku builder. Jest to wywoływane tylko w przypadku aplikacji korzystających z programu IHostBuilder. Zamiast tego będą używane CreateServer(IWebHostBuilder) aplikacje oparte naIWebHostBuilder.

CreateHostBuilder()

Tworzy element IHostBuilder używany do konfigurowania TestServer.

CreateServer(IServiceProvider)

Tworzy element za TestServer pomocą IServiceProvider elementu z poziomu aplikacji bootstrapped. Jest to wywoływane tylko w przypadku aplikacji korzystających z programu IHostBuilder. Zamiast tego będą używane CreateHost(IHostBuilder) aplikacje oparte naIWebHostBuilder.

CreateServer(IWebHostBuilder)
Przestarzałe.

Tworzy element za TestServer pomocą bootstrapped aplikacji w pliku builder. Jest to wywoływane tylko w przypadku aplikacji korzystających z programu IWebHostBuilder. Zamiast tego będą używane CreateHost(IHostBuilder) aplikacje oparte naIHostBuilder.

CreateWebHostBuilder()

Tworzy element IWebHostBuilder używany do konfigurowania TestServer.

Dispose()

Fabryka na potrzeby uruchamiania aplikacji w pamięci w celu zakończenia testów funkcjonalnych.

Dispose(Boolean)

Wykonuje zadania zdefiniowane przez aplikację skojarzone z zwalnianiem, wydawaniem lub resetowaniem niezarządzanych zasobów.

DisposeAsync()

Fabryka na potrzeby uruchamiania aplikacji w pamięci w celu zakończenia testów funkcjonalnych.

Finalize()

Finalizuje wystąpienie WebApplicationFactory<TEntryPoint> klasy .

GetTestAssemblies()

Pobiera zestawy zawierające testy funkcjonalne. Zastosowany WebApplicationFactoryContentRootAttribute do tych zestawów definiuje katalog główny zawartości do użycia dla danego TEntryPointelementu .

StartServer()

Inicjuje wystąpienie, konfigurując konstruktora hostów.

UseKestrel()

Konfiguruje fabrykę tak, aby korzystała z usługi Kestrel jako serwera.

UseKestrel(Action<KestrelServerOptions>)

Konfiguruje fabrykę tak, aby korzystała z usługi Kestrel jako serwera.

UseKestrel(Int32)

Konfiguruje fabrykę tak, aby korzystała z usługi Kestrel jako serwera.

WithWebHostBuilder(Action<IWebHostBuilder>)

Tworzy nowy WebApplicationFactory<TEntryPoint> element z elementem IWebHostBuilder , który jest jeszcze bardziej dostosowany przez configurationprogram .

Dotyczy