TestFilterProviderAttribute Clase

Definición

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.

Se aplica a