Aracılığıyla paylaş


WebApplicationFactory<TEntryPoint> Sınıf

Tanım

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

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

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

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 anahtara sahip işlevsel testleri içeren derlemede bir WebApplicationFactoryContentRootAttribute arayarak uygulama içeriği kök yolunu çıkarsar. Doğru anahtara sahip bir özniteliğin bulunamama ihtimaline karşı çözüm WebApplicationFactory<TEntryPoint> dosyasını (*.sln) aramaya ve ardından derleme adını çözüm dizinine 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, öğesini 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

ClientOptions

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

Factories

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

Server

Tarafından WebApplicationFactory<TEntryPoint>oluşturulan öğesini TestServer alır.

Services

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

Yöntemler

ConfigureClient(HttpClient)

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

ConfigureWebHost(IWebHostBuilder)

Uygulamayı oluşturulmadan önce yapılandırmak için bir fikstür sağlar.

CreateClient()

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

CreateClient(WebApplicationFactoryClientOptions)

Yeniden yönlendirmeleri otomatik olarak 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)

içinde IHost bootstrapped uygulamasıyla builderöğesini oluşturur. Bu yalnızca kullanan uygulamalar için çağrılır IHostBuilder. Bunun yerine öğesini IWebHostBuilder temel alan uygulamalar kullanır CreateServer(IWebHostBuilder) .

CreateHostBuilder()

ayarlamak TestServeriçin kullanılan bir IHostBuilder oluşturur.

CreateServer(IWebHostBuilder)

içinde TestServer bootstrapped uygulamasıyla builderöğesini oluşturur. Bu yalnızca kullanan uygulamalar için çağrılır IWebHostBuilder. Bunun yerine öğesini IHostBuilder temel alan uygulamalar kullanır CreateHost(IHostBuilder) .

CreateWebHostBuilder()

ayarlamak TestServeriçin kullanılan bir IWebHostBuilder oluşturur.

Dispose()

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

Dispose(Boolean)

Uygulama tarafından tanımlanan, yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilişkili görevleri gerçekleştirir.

DisposeAsync()

İşlevsel uçtan uca testler için bellekteki bir uygulamayı ö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.

WithWebHostBuilder(Action<IWebHostBuilder>)

ile daha da özelleştirilmiş configurationyeni WebApplicationFactory<TEntryPoint> bir IWebHostBuilder oluşturur.

Şunlara uygulanır