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

應用程式之進入點元件中的型別。 您通常可以使用啟動或程式類別。

繼承
WebApplicationFactory<TEntryPoint>
實作

建構函式

WebApplicationFactory<TEntryPoint>()

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

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

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

屬性

ClientOptions

取得所 WebApplicationFactoryClientOptions 使用的 CreateClient()

Factories

IReadOnlyList<T>從這個 factory 取得建立的 factory 的,方法是 IWebHostBuilder 在呼叫時進一步自訂 WithWebHostBuilder(Action<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[])

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

CreateDefaultClient(Uri, DelegatingHandler[])

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

CreateHost(IHostBuilder)

IHost在中使用啟動載入的應用程式建立 builder 。 這只會針對使用的應用程式呼叫 IHostBuilder 。 根據的應用程式 IWebHostBuilderCreateServer(IWebHostBuilder) 改用。

CreateHostBuilder()

建立 IHostBuilder 用來設定的 TestServer

CreateServer(IWebHostBuilder)

TestServer在中使用啟動載入的應用程式建立 builder 。 這只會針對使用的應用程式呼叫 IWebHostBuilder 。 根據的應用程式 IHostBuilderCreateHost(IHostBuilder) 改用。

CreateWebHostBuilder()

建立 IWebHostBuilder 用來設定的 TestServer

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Dispose(Boolean)

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

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

Finalize()

終結類別的實例 WebApplicationFactory<TEntryPoint>

GetTestAssemblies()

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

WithWebHostBuilder(Action<IWebHostBuilder>)

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

適用於