TestFilterProviderAttribute Klasse

Definition

Registriert eine vom Benutzer bereitgestellte ITestFilter Implementierung, die der MSTest-Adapter für jeden Test aufruft, der ausgeführt werden soll, nachdem ein Befehlszeilenfilter (--filter, Auswahl des Test-Explorers usw.) angewendet wurde.

[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
Vererbung
TestFilterProviderAttribute
Attribute

Beispiele

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

Hinweise

Wenden Sie dieses Attribut auf Assemblyebene auf der Testassembly selbst an. Es kann höchstens TestFilterProviderAttribute pro Testassembly angewendet werden. Dies ist beabsichtigt, sodass die Filterbestellung nicht Teil der öffentlichen API ist. Wenn mehrere Filterstrategien erforderlich sind, verfassen Sie sie explizit innerhalb einer einzelnen ITestFilter Implementierung.

Der Filtertyp muss eine nicht generische Klasse mit einem öffentlichen parameterlosen Konstruktor sein, der implementiert ITestFilterwird. Pro Testassembly wird eine einzelne Instanz pro Testausführung erstellt und für jeden Test dieser Assembly wiederverwendet.

Der Filter wird ausgeführt, bevor der Testtyp geladen wird, vor , vor [AssemblyInitialize], vor [ClassInitialize]und vor dem Aufruf des Testkonstruktors, sodass das Ablegen oder Überspringen eines Tests ITestFilter verhindert, dass diese Kosten anfallen.

Konstruktoren

Name Beschreibung
TestFilterProviderAttribute(Type)

Initialisiert eine neue Instanz der TestFilterProviderAttribute-Klasse.

Eigenschaften

Name Beschreibung
FilterType

Ruft die ITestFilter von diesem Attribut registrierte Implementierung ab.

Gilt für: