Partilhar via


MSTEST0025: Use 'Assert.Fail' em vez de uma declaração sempre falhando

Property valor
ID da regra MSTEST0025
Título Use 'Assert.Fail' em vez de uma declaração sempre falhando
Categoria Usage
A correção está quebrando ou não quebrando Sem quebra
Ativado por padrão Sim
Severidade padrão Aviso a partir de 4.0.0, Informações antes
Introduzido na versão 3.4.0
Existe uma correção de código Sim

Motivo

Essa regra gera um diagnóstico quando uma chamada para uma asserção produz uma condição sempre falsa.

Descrição da regra

O uso Assert.Fail de uma chamada de asserção sempre com falha fornece uma intenção mais clara e uma melhor documentação para o código.

Quando você encontra uma asserção que sempre falha (por exemplo, Assert.IsTrue(false)), pode não ser imediatamente óbvio para alguém que lê o código por que a asserção está lá ou qual condição está tentando verificar. Isso pode levar a confusão e perda de tempo para os desenvolvedores que se deparam com o código mais tarde.

Por outro lado, o uso Assert.Fail permite que você forneça uma mensagem de falha personalizada, deixando claro por que a asserção está falhando e qual condição ou cenário específico está abordando. Esta mensagem serve como documentação para a intenção por trás da asserção, ajudando outros desenvolvedores a entender o propósito da asserção sem a necessidade de se aprofundar no código.

No geral, o uso Assert.Fail promove clareza, documentação e manutenibilidade em sua base de código, tornando-a uma escolha melhor do que uma chamada de asserção sempre falha.

Como corrigir violações

Certifique-se de que as chamadas para Assert.IsTrue, Assert.IsFalse, Assert.AreEqual, Assert.AreNotEqualAssert.IsNull ou Assert.IsNotNull não estão produzindo condições de falha constante.

Quando suprimir avisos

Não recomendamos a supressão de avisos desta regra.

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

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

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

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