Compartir vía


MSTEST0037: Usar métodos "Assert" adecuados

Propiedad Valor
Identificador de la regla MSTEST0037
Título Usar métodos "Assert" adecuados
Categoría Uso
La corrección es problemática o no problemática Poco problemático
Habilitado por defecto
Gravedad predeterminada Información
Introducido en la versión 3.7.0
Hay una corrección de código

Causa

El uso de los métodos Assert de una manera específica cuando hay una mejor alternativa.

Descripción de la regla

Hay varios casos en los que recibe esta advertencia:

  • El uso de Assert.IsTrue(<expression> == null) (con todas las combinaciones, como IsFalse, != null, is null o is not null).

    El uso de Assert.IsNull(<expression>) o Assert.IsNotNull(<expression>) es una alternativa mejor.

  • El uso de Assert.IsTrue(<expression1> == <expression2>) (con todas las combinaciones, como IsFalse o !=).

    El uso de Assert.AreEqual(<expression1>, <expression2>) o Assert.AreNotEqual(<expression1>, <expression2>) es una alternativa mejor.

  • El uso de Assert.AreEqual(true, <expression>) o Assert.AreEqual(false, <expression>).

    El uso de Assert.IsTrue(<expression>) o Assert.IsFalse(<expression>) es una alternativa mejor.

  • El uso de Assert.AreEqual(null, <expression>) o Assert.AreNotEqual(null, <expression>).

    El uso de Assert.IsNull(<expression>) o Assert.IsNotNull<expression> es una alternativa mejor.

En muchos casos, las mejores alternativas proporcionan mejores mensajes cuando fallan y también son más fáciles de leer.

Cómo corregir infracciones

Use el mejor método alternativo.

Cuándo suprimir las advertencias

Si la aserción está pensada para comprobar el comportamiento de un operador definido por el usuario, puede y debe suprimir la advertencia.

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

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.MSTEST0037.severity = none

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