Lenguaje

WebApplicationFactory<TEntryPoint> Clase

Definición

Generador para arrancar una aplicación en memoria para pruebas de un extremo a otro funcional.

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

Parámetros de tipo

TEntryPoint

Tipo en el ensamblado de punto de entrada de la aplicación. Normalmente se pueden usar las clases Startup o Program.

Herencia
WebApplicationFactory<TEntryPoint>
Implementaciones

Constructores

Nombre Description
WebApplicationFactory<TEntryPoint>()

Crea una instancia de WebApplicationFactory<TEntryPoint>. Esta factoría se puede usar para crear una TestServer instancia mediante la aplicación MVC definida por TEntryPoint y una o varias HttpClient instancias usadas para enviar HttpRequestMessage a TestServer. WebApplicationFactory<TEntryPoint> Buscará la clase de punto de entrada del TEntryPoint ensamblado e inicializará la aplicación llamando a IWebHostBuilder CreateWebHostBuilder(string [] args) en TEntryPoint.

Este constructor deducirá la ruta de acceso raíz del contenido de la aplicación buscando un WebApplicationFactoryContentRootAttribute elemento en el ensamblado que contiene las pruebas funcionales con una clave igual al TEntryPoint ensamblado FullName. En caso de que no se encuentre un atributo con la clave derecha, volverá a buscar un archivo de solución (*.sln) y, a continuación, WebApplicationFactory<TEntryPoint> anexará TEntryPoint el nombre del ensamblado al directorio de la solución. El directorio raíz de la aplicación se usará para detectar vistas y archivos de contenido.

Los ensamblados de aplicación se cargarán desde el contexto de dependencia del ensamblado que contiene TEntryPoint. Esto significa que las dependencias del proyecto del ensamblado que contiene TEntryPoint se cargarán como ensamblados de aplicación.

Propiedades

Nombre Description
ClientOptions

Obtiene el objeto WebApplicationFactoryClientOptions utilizado por CreateClient().

Factories

Obtiene los IReadOnlyList<T> generadores creados a partir de esta factoría personalizando aún más al IWebHostBuilder llamar a WithWebHostBuilder(Action<IWebHostBuilder>).

Server

Obtiene el TestServer objeto creado por este WebApplicationFactory<TEntryPoint>objeto .

Services

Obtiene el IServiceProvider objeto creado por el servidor asociado a este WebApplicationFactory<TEntryPoint>objeto .

Métodos

Nombre Description
ConfigureClient(HttpClient)

Configura las HttpClient instancias creadas por este WebApplicationFactory<TEntryPoint>.

ConfigureWebApplicationBuilder(IHostApplicationBuilder)

Ofrece a un accesorio una oportunidad para configurar el generador de aplicaciones. Este método se llamará muy pronto, durante la llamada del punto de entrada a WebApplication.CreateBuilder.

ConfigureWebHost(IWebHostBuilder)

Ofrece a un accesorio una oportunidad para configurar la aplicación antes de compilarla.

CreateClient()

Crea una instancia de HttpClient que sigue automáticamente las redirecciones y controla las cookies.

CreateClient(WebApplicationFactoryClientOptions)

Crea una instancia de HttpClient que sigue automáticamente las redirecciones y controla las cookies.

CreateDefaultClient(DelegatingHandler[])

Crea una nueva instancia de que HttpClient se puede usar para enviar HttpRequestMessage al servidor. La dirección base de la HttpClient instancia se establecerá en http://localhost.

CreateDefaultClient(Uri, DelegatingHandler[])

Crea una nueva instancia de que HttpClient se puede usar para enviar HttpRequestMessage al servidor.

CreateHost(IHostBuilder)

Crea con IHost la aplicación de arranque en builder. Esto solo se llama para las aplicaciones que usan IHostBuilder. Las aplicaciones basadas en IWebHostBuilder usarán CreateServer(IWebHostBuilder) en su lugar.

CreateHostBuilder()

Crea un IHostBuilder objeto usado para configurar TestServer.

CreateServer(IServiceProvider)

Crea con TestServer a IServiceProvider partir de la aplicación de arranque. Esto solo se llama para las aplicaciones que usan IHostBuilder. Las aplicaciones basadas en IWebHostBuilder usarán CreateHost(IHostBuilder) en su lugar.

CreateServer(IWebHostBuilder)
Obsoletos.

Crea con TestServer la aplicación de arranque en builder. Esto solo se llama para las aplicaciones que usan IWebHostBuilder. Las aplicaciones basadas en IHostBuilder usarán CreateHost(IHostBuilder) en su lugar.

CreateWebHostBuilder()

Crea un IWebHostBuilder objeto usado para configurar TestServer.

Dispose()

Generador para arrancar una aplicación en memoria para pruebas de un extremo a otro funcional.

Dispose(Boolean)

Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados.

DisposeAsync()

Generador para arrancar una aplicación en memoria para pruebas de un extremo a otro funcional.

Finalize()

Finaliza una instancia de la WebApplicationFactory<TEntryPoint> clase .

GetTestAssemblies()

Obtiene los ensamblados que contienen las pruebas funcionales. El WebApplicationFactoryContentRootAttribute objeto aplicado a estos ensamblados define la raíz de contenido que se va a usar para el especificado TEntryPoint.

StartServer()

Inicializa la instancia configurando el generador de hosts.

UseKestrel()

Configura el generador para que use Kestrel como servidor.

UseKestrel(Action<KestrelServerOptions>)

Configura el generador para que use Kestrel como servidor.

UseKestrel(Int32)

Configura el generador para que use Kestrel como servidor.

WithWebHostBuilder(Action<IWebHostBuilder>)

Crea un nuevo WebApplicationFactory<TEntryPoint> con un IWebHostBuilder objeto que se personaliza aún más mediante configuration.

Se aplica a