TestFilterProviderAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Registra una implementación proporcionada por ITestFilter el usuario que el adaptador de MSTest invoca para cada prueba que está a punto de ejecutarse, después de aplicar cualquier filtro de línea de comandos (--filter, selección del Explorador de pruebas, etc.).
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
public sealed class TestFilterProviderAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
[System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")]
[System.Runtime.CompilerServices.Nullable(0)]
public sealed class TestFilterProviderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
type TestFilterProviderAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
[<System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")>]
[<System.Runtime.CompilerServices.Nullable(0)>]
type TestFilterProviderAttribute = class
inherit Attribute
Public NotInheritable Class TestFilterProviderAttribute
Inherits Attribute
- Herencia
-
TestFilterProviderAttribute
- Atributos
Ejemplos
[assembly: TestFilterProvider(typeof(NightlyFilter))]
public sealed class NightlyFilter : ITestFilter
{
public TestFilterResult Filter(TestFilterContext context)
=> context.Categories.Contains("Nightly")
&& Environment.GetEnvironmentVariable("RUN_NIGHTLY") != "1"
? TestFilterResult.Skip("Set RUN_NIGHTLY=1 to run nightly tests.")
: TestFilterResult.Run;
}
Comentarios
Aplique este atributo en el nivel de ensamblado en el propio ensamblado de prueba. Como máximo, se puede aplicar uno TestFilterProviderAttribute por ensamblado de prueba; esto es intencionado para que la ordenación de filtros no forme parte de la API pública. Si se necesitan varias estrategias de filtrado, compongalas explícitamente dentro de una sola ITestFilter implementación.
El tipo de filtro debe ser una clase no genérica con un constructor público sin parámetros que implemente ITestFilter. Se crea una sola instancia por ensamblado de prueba por ejecución de prueba y se reutiliza para cada prueba de ese ensamblado.
El filtro se ejecuta antes de cargar el tipo de prueba, antes de , antes [AssemblyInitialize][ClassInitialize]de y antes de invocar el constructor de prueba, por lo que quitar o omitir una prueba a través ITestFilter de evita pagar cualquiera de esos costos.
Constructores
| Nombre | Description |
|---|---|
| TestFilterProviderAttribute(Type) |
Inicializa una nueva instancia de la clase TestFilterProviderAttribute. |
Propiedades
| Nombre | Description |
|---|---|
| FilterType |
Obtiene la ITestFilter implementación registrada por este atributo. |