다음을 통해 공유


WebApplicationFactory<TEntryPoint> 클래스

정의

기능 종단 간 테스트를 위해 메모리에서 애플리케이션을 부트스트래핑하기 위한 팩터리입니다.

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

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

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

속성

ClientOptions

에서 사용되는 을 WebApplicationFactoryClientOptionsCreateClient()가져옵니다.

Factories

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

Server

TestServer에서 만든 WebApplicationFactory<TEntryPoint>를 가져옵니다.

Services

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

메서드

ConfigureClient(HttpClient)

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

ConfigureWebHost(IWebHostBuilder)

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

CreateClient()

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

CreateClient(WebApplicationFactoryClientOptions)

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

CreateDefaultClient(DelegatingHandler[])

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

CreateDefaultClient(Uri, DelegatingHandler[])

서버에 보내는 HttpRequestMessage 데 사용할 수 있는 의 HttpClient 새 instance 만듭니다.

CreateHost(IHostBuilder)

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

CreateHostBuilder()

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

CreateServer(IWebHostBuilder)

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

CreateWebHostBuilder()

를 설정하는 TestServer데 사용되는 를 IWebHostBuilder 만듭니다.

Dispose()

기능 종단 간 테스트를 위해 메모리에서 애플리케이션을 부트스트래핑하기 위한 팩터리입니다.

Dispose(Boolean)

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

DisposeAsync()

기능 종단 간 테스트를 위해 메모리에서 애플리케이션을 부트스트래핑하기 위한 팩터리입니다.

Finalize()

클래스의 instance 완료합니다WebApplicationFactory<TEntryPoint>.

GetTestAssemblies()

기능 테스트가 포함된 어셈블리를 가져옵니다. 이러한 어셈블리에 적용된 는 WebApplicationFactoryContentRootAttribute 지정된 TEntryPoint에 사용할 콘텐츠 루트를 정의합니다.

WithWebHostBuilder(Action<IWebHostBuilder>)

에서 추가로 사용자 지정하는 을 사용하여 IWebHostBuilderWebApplicationFactory<TEntryPoint>configuration만듭니다.

적용 대상