언어

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>인스턴스를 만듭니다. 이 팩터리는 정의된 MVC 애플리케이션과 해당 인스턴스로 TEntryPoint 보내는 HttpRequestMessageTestServer데 사용되는 하나 이상의 HttpClient 인스턴스를 사용하여 인스턴스를 만드는 TestServer 데 사용할 수 있습니다. WebApplicationFactory<TEntryPoint> 어셈블리의 TEntryPoint 진입점 클래스를 찾고 호출하여 IWebHostBuilder CreateWebHostBuilder(string [] args) 애플리케이션을 초기화합니다TEntryPoint.

이 생성자는 어셈블리와 동일한 TEntryPointFullName키를 가진 기능 테스트를 포함하는 어셈블리에서 검색 WebApplicationFactoryContentRootAttribute 하여 애플리케이션 콘텐츠 루트 경로를 유추합니다. 올바른 키가 있는 특성을 찾을 WebApplicationFactory<TEntryPoint> 수 없는 경우 솔루션 파일(*.sln)을 검색한 다음 솔루션 디렉터리에 어셈블리 이름을 추가합니다 TEntryPoint . 애플리케이션 루트 디렉터리가 뷰 및 콘텐츠 파일을 검색하는 데 사용됩니다.

애플리케이션 어셈블리는 포함하는 TEntryPoint어셈블리의 종속성 컨텍스트에서 로드됩니다. 즉, 포함된 TEntryPoint 어셈블리의 프로젝트 종속성이 애플리케이션 어셈블리로 로드됩니다.

속성

속성 Description
ClientOptions

에서 사용되는 CreateClient()값을 WebApplicationFactoryClientOptions 가져옵니다.

Factories

호출WithWebHostBuilder(Action<IWebHostBuilder>)할 IReadOnlyList<T> 때 추가로 사용자 지정하여 이 팩터리에서 만든 팩터리를 IWebHostBuilder 가져옵니다.

Server

이 메서드에서 만든 값을 TestServerWebApplicationFactory<TEntryPoint>가져옵니다.

Services

IServiceProvider 이 서버와 연결된 서버에서 만든 값을 WebApplicationFactory<TEntryPoint>가져옵니다.

메서드

속성 Description
ConfigureClient(HttpClient)

에서 HttpClientWebApplicationFactory<TEntryPoint>만든 인스턴스를 구성합니다.

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

애플리케이션 작성기를 구성할 수 있는 기회를 제공합니다. 이 메서드는 WebApplication.CreateBuilder에 대한 진입점 호출 중에 매우 일찍 호출됩니다.

ConfigureWebHost(IWebHostBuilder)

빌드되기 전에 애플리케이션을 구성할 수 있는 기회를 제공합니다.

CreateClient()

리디렉션을 따르고 쿠키를 처리하는 인스턴스 HttpClient 를 자동으로 만듭니다.

CreateClient(WebApplicationFactoryClientOptions)

리디렉션을 따르고 쿠키를 처리하는 인스턴스 HttpClient 를 자동으로 만듭니다.

CreateDefaultClient(DelegatingHandler[])

서버로 보내는 HttpRequestMessage 데 사용할 수 있는 새 인스턴스 HttpClient 를 만듭니다. 인스턴스의 기본 주소는 HttpClient .로 http://localhost설정됩니다.

CreateDefaultClient(Uri, DelegatingHandler[])

서버로 보내는 HttpRequestMessage 데 사용할 수 있는 새 인스턴스 HttpClient 를 만듭니다.

CreateHost(IHostBuilder)

에서 IHost 부트스트랩된 애플리케이션을 사용하여 만듭니 builder다. 이 호출은 .를 사용하는 IHostBuilder애플리케이션에 대해서만 호출됩니다. 대신 기반 IWebHostBuilder 애플리케이션을 사용합니다 CreateServer(IWebHostBuilder) .

CreateHostBuilder()

IHostBuilder 설정하는 데 사용되는 을 만듭니다TestServer.

CreateServer(IServiceProvider)

TestServer 부트스트랩된 애플리케이션에서 해당 IServiceProvider 애플리케이션을 만듭니다. 이 호출은 .를 사용하는 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> 의해 configuration추가로 사용자 지정된 새 IWebHostBuilder 항목을 만듭니다.

적용 대상