Partilhar via


MSTEST0037: Use métodos 'Assert' adequados

Propriedade Valor
ID da regra MSTEST0037
Título Utilize métodos apropriados de asserções
Categoria Utilização
A correção funciona corretamente ou incorretamente Sem quebra
Ativado por padrão Sim
Gravidade padrão Informação (Aviso na versão 4.0)
Introduzido na versão 3.7.0
Existe uma correção de código Sim

Causa

O uso de métodos Assert de uma maneira específica, quando existe uma alternativa melhor.

Descrição da regra

Há vários casos em que você recebe esse aviso:

  • O uso de Assert.IsTrue(<expression> == null) (com todas as combinações, como IsFalse, != null, is nullou is not null).

    Usar Assert.IsNull(<expression>) ou Assert.IsNotNull(<expression>) é uma alternativa melhor.

  • O uso de Assert.IsTrue(<expression1> == <expression2>) (com todas as combinações, como IsFalse ou !=).

    Usar Assert.AreEqual(<expression1>, <expression2>) ou Assert.AreNotEqual(<expression1>, <expression2>) é uma alternativa melhor.

  • O uso de Assert.AreEqual(true, <expression>) ou Assert.AreEqual(false, <expression>).

    Usar Assert.IsTrue(<expression>) ou Assert.IsFalse(<expression>) é uma alternativa melhor.

  • O uso de Assert.AreEqual(null, <expression>) ou Assert.AreNotEqual(null, <expression>).

    Usar Assert.IsNull(<expression>) ou Assert.IsNotNull<expression> é uma alternativa melhor.

Em muitos casos, as melhores alternativas fornecem melhores mensagens quando falham e também são mais fáceis de ler.

Como corrigir violações

Use o melhor método alternativo.

Quando suprimir avisos

Se a declaração se destinar a verificar o comportamento de um operador definido pelo usuário, você pode e deve suprimir o aviso.

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 MSTEST0037
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0037

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

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

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