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 | Sí |
Gravedad predeterminada | Información |
Introducido en la versión | 3.7.0 |
Hay una corrección de código | Sí |
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, comoIsFalse
,!= null
,is null
ois not null
).El uso de
Assert.IsNull(<expression>)
oAssert.IsNotNull(<expression>)
es una alternativa mejor.El uso de
Assert.IsTrue(<expression1> == <expression2>)
(con todas las combinaciones, comoIsFalse
o!=
).El uso de
Assert.AreEqual(<expression1>, <expression2>)
oAssert.AreNotEqual(<expression1>, <expression2>)
es una alternativa mejor.El uso de
Assert.AreEqual(true, <expression>)
oAssert.AreEqual(false, <expression>)
.El uso de
Assert.IsTrue(<expression>)
oAssert.IsFalse(<expression>)
es una alternativa mejor.El uso de
Assert.AreEqual(null, <expression>)
oAssert.AreNotEqual(null, <expression>)
.El uso de
Assert.IsNull(<expression>)
oAssert.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.