Language

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

アプリケーションのエントリ ポイント アセンブリ内の型。 通常、Startup クラスまたは Program クラスを使用できます。

継承
WebApplicationFactory<TEntryPoint>
実装

コンストラクター

名前 説明
WebApplicationFactory<TEntryPoint>()

WebApplicationFactory<TEntryPoint> のインスタンスを作成します。 このファクトリを使用すると、 によってTEntryPoint定義された MVC アプリケーションと、 に送信HttpRequestMessageするために使用される 1 つ以上HttpClientのインスタンスを使用してインスタンスをTestServer作成TestServerできます。 は WebApplicationFactory<TEntryPoint> 、アセンブリの TEntryPoint エントリ ポイント クラスを検索し、 で を呼び出 IWebHostBuilder CreateWebHostBuilder(string [] args) してアプリケーションを初期化します TEntryPoint。

このコンストラクターは、アセンブリ と等しいキーを持つ機能テストを含むアセンブリで を検索 WebApplicationFactoryContentRootAttribute することで、アプリケーション コンテンツのルート パスを TEntryPoint 推論します FullName。 適切なキーを持つ属性が見つからない場合は、 WebApplicationFactory<TEntryPoint> ソリューション ファイル (*.sln) を検索してから、ソリューション ディレクトリにアセンブリ名を TEntryPoint 追加します。 アプリケーション ルート ディレクトリは、ビューとコンテンツ ファイルを検出するために使用されます。

アプリケーション アセンブリは、 を含む TEntryPointアセンブリの依存関係コンテキストから読み込まれます。 つまり、 を含む TEntryPoint アセンブリのプロジェクト依存関係は、アプリケーション アセンブリとして読み込まれます。

プロパティ

名前 説明
ClientOptions

によってCreateClient()使用される を取得しますWebApplicationFactoryClientOptions。

Factories

を呼び出WithWebHostBuilder(Action<IWebHostBuilder>)すときに IReadOnlyList<T> をさらにカスタマイズして、このファクトリから作成されたファクトリの をIWebHostBuilder取得します。

Server

この TestServer によって作成される WebApplicationFactory<TEntryPoint> を取得します。

Services

この WebApplicationFactory<TEntryPoint>にIServiceProvider関連付けられているサーバーによって作成された を取得します。

メソッド

名前 説明
ConfigureClient(HttpClient)

HttpClientこの WebApplicationFactory<TEntryPoint>によって作成されたインスタンスを構成します。

ConfigureWebHost(IWebHostBuilder)

構築前にアプリケーションを構成する機会をフィクスチャに提供します。

CreateClient()

リダイレクトに自動的に従い、Cookie を処理する の HttpClient インスタンスを作成します。

CreateClient(WebApplicationFactoryClientOptions)

リダイレクトに自動的に従い、Cookie を処理する の HttpClient インスタンスを作成します。

CreateDefaultClient(DelegatingHandler[])

サーバーへの送信HttpRequestMessageに使用できる のHttpClient新しいインスタンスを作成します。 インスタンスの HttpClient ベース アドレスは に http://localhost設定されます。

CreateDefaultClient(Uri, DelegatingHandler[])

サーバーへの送信HttpRequestMessageに使用できる のHttpClient新しいインスタンスを作成します。

CreateHost(IHostBuilder)

でブートストラップされたアプリケーションbuilderを使用して をIHost作成します。 これは、 を使用 IHostBuilderするアプリケーションでのみ呼び出されます。 に基づく IWebHostBuilder アプリケーションでは、代わりに が使用 CreateServer(IWebHostBuilder) されます。

CreateHostBuilder()

を IHostBuilder 設定 TestServerするために使用する を作成します。

CreateServer(IWebHostBuilder)

でブートストラップされたアプリケーションbuilderを使用して をTestServer作成します。 これは、 を使用 IWebHostBuilderするアプリケーションでのみ呼び出されます。 に基づく IHostBuilder アプリケーションでは、代わりに が使用 CreateHost(IHostBuilder) されます。

CreateWebHostBuilder()

を IWebHostBuilder 設定 TestServerするために使用する を作成します。

Dispose()

機能エンド ツー エンド テスト用にメモリ内のアプリケーションをブートストラップするためのファクトリ。

Dispose(Boolean)

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

DisposeAsync()

機能エンド ツー エンド テスト用にメモリ内のアプリケーションをブートストラップするためのファクトリ。

Finalize()

クラスのインスタンスを最終処理します WebApplicationFactory<TEntryPoint> 。

GetTestAssemblies()

機能テストを含むアセンブリを取得します。 これらのアセンブリに適用される は WebApplicationFactoryContentRootAttribute 、指定 TEntryPointされた に使用するコンテンツ ルートを定義します。

WithWebHostBuilder(Action<IWebHostBuilder>)

によってさらにカスタマイズされた をIWebHostBuilder使用してconfiguration、新しい WebApplicationFactory<TEntryPoint> を作成します。

適用対象