TestFilterProviderAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |