語言

WebApplicationFactory<TEntryPoint> 類別

定義

工廠用來在記憶體中啟動應用程式,進行功能性的端對端測試。

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

類型參數

TEntryPoint

應用程式入口點組件中的一個型別。 通常可以使用新創課程或程式課程。

繼承
WebApplicationFactory<TEntryPoint>
實作

建構函式

名稱 Description
WebApplicationFactory<TEntryPoint>()

建立 的實例 WebApplicationFactory<TEntryPoint>。 此工廠可用來建立 TestServer 由 定義的 TEntryPoint MVC 應用程式,並使用一個或多個 HttpClient 實例傳送 HttpRequestMessage 至 TestServer。 該 會 WebApplicationFactory<TEntryPoint> 找到集合的 TEntryPoint 入口類別,並透過呼叫 IWebHostBuilder CreateWebHostBuilder(string [] args)TEntryPoint來初始化應用程式。

此建構器會透過在包含功能測試的組件上搜尋 a WebApplicationFactoryContentRootAttribute ,推斷出應用程式內容的根路徑,鍵值等於 TEntryPointFullName集合 。 如果找不到正確鍵的屬性, WebApplicationFactory<TEntryPoint> 會退回到搜尋解決方案檔案(*.sln),然後在解決方案目錄中附加 TEntryPoint 組合名稱。 應用程式根目錄將用於發現檢視與內容檔案。

應用程式組件將從包含 TEntryPoint的組件的相依上下文中載入。 這表示包含 TEntryPoint 組件的專案相依關係會以應用程式組件形式載入。

屬性

名稱 Description
ClientOptions

被 WebApplicationFactoryClientOptions 使用 CreateClient()。

Factories

透過進一步客製化IWebHostBuilderWithWebHostBuilder(Action<IWebHostBuilder>),從該工廠創建的工廠中獲得IReadOnlyList<T>。

Server

被 TestServer 這個 WebApplicationFactory<TEntryPoint>創造出來。

Services

會被與此WebApplicationFactory<TEntryPoint>伺服器關聯的伺服器建立。IServiceProvider

方法

名稱 Description
ConfigureClient(HttpClient)

配置 HttpClient 由此 WebApplicationFactory<TEntryPoint>建立的實例。

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

讓夾具有機會設定應用程式建構器。 此方法會在入口點呼叫 WebApplication.CreateBuilder 時非常早期被呼叫。

ConfigureWebHost(IWebHostBuilder)

這樣可以讓燈具在建置前先設定應用程式。

CreateClient()

建立一個自動執行、重定向並處理 Cookie 的實例 HttpClient 。

CreateClient(WebApplicationFactoryClientOptions)

建立一個自動執行、重定向並處理 Cookie 的實例 HttpClient 。

CreateDefaultClient(DelegatingHandler[])

建立一個新的 實 HttpClient 例,可以用來傳送 HttpRequestMessage 到伺服器。 實例的 HttpClient 基底位址會設為 http://localhost。

CreateDefaultClient(Uri, DelegatingHandler[])

建立一個新的 實 HttpClient 例,可以用來傳送 HttpRequestMessage 到伺服器。

CreateHost(IHostBuilder)

建立 時 IHost ,將啟動應用程式置於 builder。 這僅用於使用 IHostBuilder的應用程式。 基於的 IWebHostBuilder 應用程式將被改用 CreateServer(IWebHostBuilder) 。

CreateHostBuilder()

建立一個 IHostBuilder 用來設置的 TestServer。

CreateServer(IServiceProvider)

從自助應用程式建立 。TestServerIServiceProvider 這僅用於使用 IHostBuilder的應用程式。 基於的 IWebHostBuilder 應用程式將被改用 CreateHost(IHostBuilder) 。

CreateServer(IWebHostBuilder)
已淘汰.

建立 時 TestServer ,將啟動應用程式置於 builder。 這僅用於使用 IWebHostBuilder的應用程式。 基於的 IHostBuilder 應用程式將被改用 CreateHost(IHostBuilder) 。

CreateWebHostBuilder()

建立一個 IWebHostBuilder 用來設置的 TestServer。

Dispose()

工廠用來在記憶體中啟動應用程式,進行功能性的端對端測試。

Dispose(Boolean)

執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。

DisposeAsync()

工廠用來在記憶體中啟動應用程式,進行功能性的端對端測試。

Finalize()

完成類別的實例 WebApplicationFactory<TEntryPoint> 。

GetTestAssemblies()

取得包含功能測試的組件。 WebApplicationFactoryContentRootAttribute應用於這些組裝的 定義了用於給定 TEntryPoint的內容根。

StartServer()

透過配置主機建構器初始化實例。

UseKestrel()

設定工廠讓 Kestrel 作為伺服器。

UseKestrel(Action<KestrelServerOptions>)

設定工廠讓 Kestrel 作為伺服器。

UseKestrel(Int32)

設定工廠讓 Kestrel 作為伺服器。

WithWebHostBuilder(Action<IWebHostBuilder>)

建立 WebApplicationFactory<TEntryPoint> 一個新的 , IWebHostBuilder 並由 進一步自訂 configuration。

適用於