TestFilterProviderAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Registra uma implementação fornecida pelo ITestFilter usuário que o adaptador MSTest invoca para cada teste que está prestes a ser executado, depois que qualquer filtro de linha de comando (--filter, seleção do Gerenciador de Testes etc.) tiver sido aplicado.
[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
- Herança
-
TestFilterProviderAttribute
- Atributos
Exemplos
[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;
}
Comentários
Aplique esse atributo no nível do assembly no próprio assembly de teste. No máximo um TestFilterProviderAttribute pode ser aplicado por assembly de teste; isso é intencional para que a ordenação de filtro não faça parte da API pública. Se forem necessárias várias estratégias de filtragem, componha-as explicitamente dentro de uma única ITestFilter implementação.
O tipo de filtro deve ser uma classe não genérica com um construtor público sem parâmetros ITestFilterque implementa. Uma única instância é criada por assembly de teste por execução de teste e reutilizado para cada teste desse assembly.
O filtro é executado antes que o tipo de teste seja carregado, antes [AssemblyInitialize], antes [ClassInitialize]e antes que o construtor de teste seja invocado, portanto, descartar ou ignorar um teste ITestFilter evita o pagamento de qualquer um desses custos.
Construtores
| Nome | Description |
|---|---|
| TestFilterProviderAttribute(Type) |
Inicializa uma nova instância da classe TestFilterProviderAttribute. |
Propriedades
| Nome | Description |
|---|---|
| FilterType |
Obtém a ITestFilter implementação registrada por esse atributo. |