Compartir a través de


MSTEST0053: Evitar el uso de métodos Assert con parámetros de formato

Propiedad Importancia
Identificador de la regla MSTEST0053
Título Evitar el uso de métodos Assert con parámetros de formato
Categoría Usage
La corrección es disruptiva o no disruptiva Non-breaking
Habilitado de forma predeterminada
Gravedad predeterminada Advertencia
introducido en la versión 3.11.0
¿Hay una corrección de código?

Nota:

Este analizador ya no es relevante para MSTest 4, ya que se quitaron las API de aserción con parámetros de formato.

Causa

Una llamada al método de aserción utiliza los argumentos message y parameters para el formato de cadena en lugar de usar la interpolación de cadenas.

Descripción de la regla

Ya no se recomienda utilizar las sobrecargas de aserción que aceptan message y parameters. Estas sobrecargas se quitan en MSTest v4. Se aconseja usar, en su lugar, la interpolación de cadenas.

Cómo corregir infracciones

Reemplace las llamadas que usan parámetros de formato de mensaje por interpolación de cadenas.

Por ejemplo, cambie esto:

[TestMethod]
public void TestMethod()
{
    int expected = 5;
    int actual = GetValue();
    Assert.AreEqual(expected, actual, "Expected {0} but got {1}", expected, actual);
}

Por esta otra:

[TestMethod]
public void TestMethod()
{
    int expected = 5;
    int actual = GetValue();
    Assert.AreEqual(expected, actual, $"Expected {expected} but got {actual}");
}

Cuándo suprimir las advertencias

No suprima advertencias de esta regla. Estas sobrecargas se quitan en MSTest v4 y no se recomiendan.