Comparteix a través de


MSTEST0025: use "Assert.Fail" en lugar de una aserción con errores siempre

Propiedad Value
Identificador de la regla MSTEST0025
Título Use "Assert.Fail" en lugar de una aserción con errores siempre
Categoría Diseño
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada
Gravedad predeterminada Información
Introducido en la versión 3.4.0
Hay una corrección de código

Causa

Esta regla genera un diagnóstico cuando una llamada a una aserción genera una condición siempre falsa.

Descripción de la regla

El uso Assert.Fail de una llamada de aserción siempre con errores proporciona una intención más clara y una mejor documentación para el código.

Cuando se produce un error en una aserción que siempre produce un error (por ejemplo, Assert.IsTrue(false)), es posible que no sea inmediatamente obvio para alguien que lea el código por el que la aserción está allí o qué condición intenta comprobar. Esto puede generar confusión y pérdida de tiempo para los desarrolladores que se encuentren con el código más adelante.

Por el contrario, el uso Assert.Fail de le permite proporcionar un mensaje de error personalizado, lo que hace que sea claro por qué se produce un error en la aserción y qué condición o escenario específico está direccionando. Este mensaje sirve como documentación para la intención detrás de la aserción, lo que ayuda a otros desarrolladores a comprender el propósito de la aserción sin necesidad de profundizar en el código.

En general, el uso Assert.Fail de promueve la claridad, la documentación y la capacidad de mantenimiento en el código base, lo que hace que sea una mejor opción sobre una llamada de aserción siempre con error.

Cómo corregir infracciones

Asegúrese de que las llamadas a Assert.IsTrue, Assert.IsFalse, Assert.AreEqual, Assert.AreNotEqual, Assert.IsNull o Assert.IsNotNull no producen condiciones de error siempre.

Cuándo suprimir las advertencias

No se recomienda suprimir advertencias de esta regla.

Supresión de una advertencia

Si solo quiere suprimir una única infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la regla.

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

Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad en none del archivo de configuración.

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

Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.