Partilhar via


MSTEST0060: Evitar atributos duplicados do método de teste

Propriedade Valor
ID da regra MSTEST0060
Título Evite atributos duplicados do método de teste
Categoria Usage
A correção é invasiva ou não invasiva Non-breaking
Ativado por padrão Yes
Severidade padrão Advertência
Introduzido na versão 4.1.0
Existe uma correção de código Não

Motivo

Um método de teste tem múltiplas TestMethodAttribute declarações.

Descrição da regra

Um método de teste deve ter apenas um atributo que deriva de TestMethodAttribute. Ter múltiplos atributos do método de teste (como [TestMethod] e [UITestMethod]) no mesmo método faz com que apenas um atributo seja usado (o primeiro devolvido por reflexão), o que pode ser confuso e levar à execução de testes não intencional.

[TestClass]
public class TestClass
{
    [TestMethod]
    [UITestMethod] // Violation
    public void TestMethod1()
    {
        // Test code
    }
}

Como corrigir violações

Remove o atributo duplicado e mantém apenas aquele que corresponde ao propósito do teu método de teste.

[TestClass]
public class TestClass
{
    [TestMethod]
    public void TestMethod1()
    {
        // Test code
    }
}

Quando suprimir avisos

Não suprima avisos desta regra. Ter múltiplos atributos do método de teste cria uma configuração ambígua, onde apenas um atributo é utilizado, o que pode causar confusão sobre qual comportamento de teste é realmente aplicado.

Suprimir um aviso

Se você quiser apenas suprimir uma única violação, adicione diretivas de pré-processador ao seu arquivo de origem para desativar e, em seguida, reativar a regra.

#pragma warning disable MSTEST0060
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0060

Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0060.severity = none

Para obter mais informações, consulte Como suprimir avisos de análise de código.