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 | Sí |
Gravedad predeterminada | Información |
Introducido en la versión | 3.4.0 |
Hay una corrección de código | Sí |
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.