MSTEST0037: usar os métodos "Assert" adequados
Propriedade | Valor |
---|---|
ID da regra | MSTEST0037 |
Título | Use métodos "Assert" adequados |
Categoria | Uso |
Correção interruptiva ou sem interrupção | Sem interrupção |
Habilitado por padrão | Sim |
Gravidade padrão | Informações |
Introduzido na versão | 3.7.0 |
Há uma correção de código | Sim |
Causa
O uso de métodos Assert de uma maneira específica quando há uma alternativa melhor.
Descrição da regra
Há vários casos em que você recebe este aviso:
O uso de
Assert.IsTrue(<expression> == null)
(com todas as combinações, comoIsFalse
,!= null
,is null
ouis not null
).Usar
Assert.IsNull(<expression>)
ouAssert.IsNotNull(<expression>)
é uma alternativa melhor.O uso de
Assert.IsTrue(<expression1> == <expression2>)
(com todas as combinações, comoIsFalse
ou!=
).Usar
Assert.AreEqual(<expression1>, <expression2>)
ouAssert.AreNotEqual(<expression1>, <expression2>)
é uma alternativa melhor.O uso de
Assert.AreEqual(true, <expression>)
ouAssert.AreEqual(false, <expression>)
.Usar
Assert.IsTrue(<expression>)
ouAssert.IsFalse(<expression>)
é uma alternativa melhor.O uso de
Assert.AreEqual(null, <expression>)
ouAssert.AreNotEqual(null, <expression>)
.Usar
Assert.IsNull(<expression>)
ouAssert.IsNotNull<expression>
é uma alternativa melhor.
Em muitos casos, as melhores alternativas fornecem mensagens melhores 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 tiver como objetivo verificar o comportamento de um operador definido pelo usuário, você pode e deve suprimir o aviso.
Suprimir um aviso
Se você quiser suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, habilitar novamente 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 em um arquivo, uma pasta ou um projeto, defina a severidade como none
no arquivo de configuração.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0037.severity = none
Para obter mais informações, confira Como suprimir avisos de análise de código.