TestFilterProviderAttribute Classe

Definizione

Registra un'implementazione fornita dall'utente ITestFilter che l'adapter MSTest richiama per ogni test che sta per essere eseguito, dopo l'applicazione di qualsiasi filtro della riga di comando (--filter, selezione esplora test e così via).

[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
Ereditarietà
TestFilterProviderAttribute
Attributi

Esempio

[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;
}

Commenti

Applicare questo attributo a livello di assembly all'assembly di test stesso. Al massimo uno TestFilterProviderAttribute può essere applicato per ogni assembly di test. Questa operazione è intenzionale in modo che l'ordinamento dei filtri non faccia parte dell'API pubblica. Se sono necessarie più strategie di filtro, crearle in modo esplicito all'interno di una singola ITestFilter implementazione.

Il tipo di filtro deve essere una classe non generica con un costruttore pubblico senza parametri che implementa ITestFilter. Viene creata una singola istanza per ogni assembly di test per ogni esecuzione di test e riutilizzata per ogni test di tale assembly.

Il filtro viene eseguito prima del caricamento del tipo di test, prima di , prima [AssemblyInitialize][ClassInitialize]di e prima che venga richiamato il costruttore di test, in modo da eliminare o ignorare un test tramite ITestFilter evita di pagare uno di questi costi.

Costruttori

Nome Descrizione
TestFilterProviderAttribute(Type)

Inizializza una nuova istanza della classe TestFilterProviderAttribute.

Proprietà

Nome Descrizione
FilterType

Ottiene l'implementazione ITestFilter registrata da questo attributo.

Si applica a