Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
| 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 | Sí |
| Gravedad predeterminada | Advertencia |
| introducido en la versión | 3.11.0 |
| ¿Hay una corrección de código? | Sí |
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.