Dil

WebApplicationFactory<TEntryPoint> Sınıf

Tanım

İşlevsel uçtan uca testler için bir uygulamayı bellekte önyüklemeye yönelik fabrika.

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

Tür Parametreleri

TEntryPoint

Uygulamanın giriş noktası derlemesindeki bir tür. Genellikle Başlangıç veya Program sınıfları kullanılabilir.

Devralma
WebApplicationFactory<TEntryPoint>
Uygulamalar

Oluşturucular

Veri Akışı Adı Description
WebApplicationFactory<TEntryPoint>()

öğesinin bir örneğini WebApplicationFactory<TEntryPoint>oluşturur. Bu fabrika, tarafından TEntryPoint tanımlanan MVC uygulamasını ve öğesine göndermek HttpRequestMessage için kullanılan bir veya daha fazla HttpClient örneği kullanarak bir TestServer örnek oluşturmak için TestServerkullanılabilir. , WebApplicationFactory<TEntryPoint> derlemenin giriş noktası sınıfını TEntryPoint bulur ve üzerinde TEntryPointçağrısı IWebHostBuilder CreateWebHostBuilder(string [] args) yaparak uygulamayı başlatır.

Bu oluşturucu, derlemeye eşit TEntryPointFullNamebir WebApplicationFactoryContentRootAttribute anahtara sahip işlevsel testleri içeren derlemede bir arayarak uygulama içeriği kök yolunu çıkaracaktır. Doğru anahtara sahip bir özniteliğin bulunamama ihtimaline karşı, WebApplicationFactory<TEntryPoint> çözüm dosyasını (*.sln) aramaya ve ardından çözüm dizinine derleme adını eklemeye TEntryPoint geri döner. Uygulama kök dizini görünümleri ve içerik dosyalarını bulmak için kullanılır.

Uygulama derlemeleri içeren TEntryPointderlemenin bağımlılık bağlamından yüklenir. Bu, içeren TEntryPoint derlemenin proje bağımlılıklarının uygulama derlemeleri olarak yüklendiği anlamına gelir.

Özellikler

Veri Akışı Adı Description
ClientOptions

tarafından CreateClient()kullanılanı WebApplicationFactoryClientOptions alır.

Factories

IReadOnlyList<T> çağrılırken WithWebHostBuilder(Action<IWebHostBuilder>)öğesini daha fazla özelleştirerek bu fabrikadan oluşturulan fabrikaların sayısını IWebHostBuilder alır.

Server

tarafından TestServeroluşturulan öğesini WebApplicationFactory<TEntryPoint> alır.

Services

IServiceProvider ile ilişkilendirilmiş WebApplicationFactory<TEntryPoint>sunucu tarafından oluşturulan öğesini alır.

Yöntemler

Veri Akışı Adı Description
ConfigureClient(HttpClient)

HttpClient Bu WebApplicationFactory<TEntryPoint>tarafından oluşturulan örnekleri yapılandırıyor.

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

Bir fikstüre uygulama oluşturucusunu yapılandırma fırsatı verir. Giriş noktasının WebApplication.CreateBuilder çağrısı sırasında bu yöntem çok erken çağrılacaktır.

ConfigureWebHost(IWebHostBuilder)

Bir fikstüre, uygulamayı oluşturulmadan önce yapılandırma fırsatı verir.

CreateClient()

Otomatik olarak yeniden yönlendirmeleri izleyen ve tanımlama bilgilerini işleyen bir örneği HttpClient oluşturur.

CreateClient(WebApplicationFactoryClientOptions)

Otomatik olarak yeniden yönlendirmeleri izleyen ve tanımlama bilgilerini işleyen bir örneği HttpClient oluşturur.

CreateDefaultClient(DelegatingHandler[])

Sunucuya göndermek HttpRequestMessage için kullanılabilecek yeni bir HttpClient örneği oluşturur. Örneğin temel adresi HttpClient olarak http://localhostayarlanır.

CreateDefaultClient(Uri, DelegatingHandler[])

Sunucuya göndermek HttpRequestMessage için kullanılabilecek yeni bir HttpClient örneği oluşturur.

CreateHost(IHostBuilder)

IHost içinde önyüklenmiş uygulama builderile öğesini oluşturur. Bu yalnızca kullanan uygulamalar için çağrılır IHostBuilder. Bunun yerine tabanlı IWebHostBuilder uygulamalar kullanılır CreateServer(IWebHostBuilder) .

CreateHostBuilder()

ayarlamak TestServeriçin kullanılan oluştururIHostBuilder.

CreateServer(IServiceProvider)

TestServer ile öğesini IServiceProvider önyüklenmiş uygulamadan oluşturur. Bu yalnızca kullanan uygulamalar için çağrılır IHostBuilder. Bunun yerine tabanlı IWebHostBuilder uygulamalar kullanılır CreateHost(IHostBuilder) .

CreateServer(IWebHostBuilder)
Geçersiz.

TestServer içinde önyüklenmiş uygulama builderile öğesini oluşturur. Bu yalnızca kullanan uygulamalar için çağrılır IWebHostBuilder. Bunun yerine tabanlı IHostBuilder uygulamalar kullanılır CreateHost(IHostBuilder) .

CreateWebHostBuilder()

ayarlamak TestServeriçin kullanılan oluştururIWebHostBuilder.

Dispose()

İşlevsel uçtan uca testler için bir uygulamayı bellekte önyüklemeye yönelik fabrika.

Dispose(Boolean)

Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir.

DisposeAsync()

İşlevsel uçtan uca testler için bir uygulamayı bellekte önyüklemeye yönelik fabrika.

Finalize()

Sınıfının bir örneğini WebApplicationFactory<TEntryPoint> sonlandırır.

GetTestAssemblies()

İşlevsel testleri içeren derlemeleri alır. WebApplicationFactoryContentRootAttribute Bu derlemelere uygulanan, belirtilen TEntryPointiçin kullanılacak içerik kökünü tanımlar.

StartServer()

Konak oluşturucusunu yapılandırarak örneği başlatır.

UseKestrel()

Fabrikayı, sunucu olarak Kestrel kullanacak şekilde yapılandırılır.

UseKestrel(Action<KestrelServerOptions>)

Fabrikayı, sunucu olarak Kestrel kullanacak şekilde yapılandırılır.

UseKestrel(Int32)

Fabrikayı, sunucu olarak Kestrel kullanacak şekilde yapılandırılır.

WithWebHostBuilder(Action<IWebHostBuilder>)

tarafından configurationdaha da özelleştirilmiş bir IWebHostBuilder ile yeni WebApplicationFactory<TEntryPoint> bir oluşturur.

Şunlara uygulanır