WebApplicationFactory<TEntryPoint> 類別

定義

用於在記憶體中啟動應用程式的 Factory,以進行功能端對端測試。

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

類型參數

TEntryPoint

應用程式進入點元件中的類型。 通常可以使用 Startup 或 Program 類別。

繼承
WebApplicationFactory<TEntryPoint>
實作

建構函式

WebApplicationFactory<TEntryPoint>()

建立 WebApplicationFactory<TEntryPoint> 的執行個體。 此處理站可用來使用 所 TEntryPoint 定義的 MVC 應用程式,以及一或多個 HttpClient 用來傳送 HttpRequestMessage 至 的 TestServer 實例來建立 TestServer 實例。 WebApplicationFactory<TEntryPoint>會尋找元件的進入點類別 TEntryPoint ,並在 上 TEntryPoint 呼叫 IWebHostBuilder CreateWebHostBuilder(string [] args) 來初始化應用程式。

此建構函式會藉由搜尋 WebApplicationFactoryContentRootAttribute 包含功能測試且索引鍵等於 TEntryPoint 元件的 FullName 元件來推斷應用程式內容根路徑。 如果找不到具有正確索引鍵的屬性, WebApplicationFactory<TEntryPoint> 將會回到搜尋方案檔 (*.sln) ,然後將元件名稱附加 TEntryPoint 至方案目錄。 應用程式根目錄將用來探索檢視和內容檔案。

應用程式元件將會從包含 TEntryPoint 之元件的相依性內容載入。 這表示包含 TEntryPoint 之元件的專案相依性將會載入為應用程式元件。

屬性

ClientOptions

WebApplicationFactoryClientOptions取得 所使用的 CreateClient()

Factories

IReadOnlyList<T>藉由在呼叫 WithWebHostBuilder(Action<IWebHostBuilder>) 時進一步自訂 IWebHostBuilder ,以取得從這個處理站建立的處理站 。

Server

取得這個 TestServer 所建立的 WebApplicationFactory<TEntryPoint>

Services

IServiceProvider取得與這個 WebApplicationFactory<TEntryPoint> 相關聯的伺服器所建立的 。

方法

ConfigureClient(HttpClient)

設定 HttpClient 這個 WebApplicationFactory<TEntryPoint> 所建立的實例。

ConfigureWebHost(IWebHostBuilder)

提供裝置在建置應用程式之前設定應用程式的機會。

CreateClient()

建立 的實例,這個實例 HttpClient 會自動遵循重新導向並處理 Cookie。

CreateClient(WebApplicationFactoryClientOptions)

建立 的實例,這個實例 HttpClient 會自動遵循重新導向並處理 Cookie。

CreateDefaultClient(DelegatingHandler[])

建立可用來傳送 HttpRequestMessage 至伺服器之 的新實例 HttpClient 。 實例的 HttpClient 基底位址將會設定為 http://localhost

CreateDefaultClient(Uri, DelegatingHandler[])

建立可用來傳送 HttpRequestMessage 至伺服器之 的新實例 HttpClient

CreateHost(IHostBuilder)

IHost在 中使用 builder 啟動載入的應用程式建立 。 這只會針對使用 IHostBuilder 的應用程式呼叫。 以 為基礎的 IWebHostBuilder 應用程式會改用 CreateServer(IWebHostBuilder)

CreateHostBuilder()

IHostBuilder建立用來設定 TestServer 的 。

CreateServer(IWebHostBuilder)

TestServer在 中使用 builder 啟動載入的應用程式建立 。 這只會針對使用 IWebHostBuilder 的應用程式呼叫。 以 為基礎的 IHostBuilder 應用程式會改用 CreateHost(IHostBuilder)

CreateWebHostBuilder()

IWebHostBuilder建立用來設定 TestServer 的 。

Dispose()

用於在記憶體中啟動應用程式的 Factory,以進行功能端對端測試。

Dispose(Boolean)

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

DisposeAsync()

用於在記憶體中啟動應用程式的 Factory,以進行功能端對端測試。

Finalize()

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

GetTestAssemblies()

取得包含功能測試的元件。 WebApplicationFactoryContentRootAttribute套用至這些元件的 會定義要用於指定 TEntryPoint 的內容根目錄。

WithWebHostBuilder(Action<IWebHostBuilder>)

使用 進一步自訂 configuration 的 , IWebHostBuilder 建立新的 WebApplicationFactory<TEntryPoint>

適用於