Compartir a través de


MSTEST0056: Usar la propiedad DisplayName para los nombres visibles del método de prueba

Propiedad Importancia
Identificador de la regla MSTEST0056
Título Usar la propiedad DisplayName para los nombres de visualización del método de prueba
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 4.0.0
¿Hay una corrección de código?

Causa

Un atributo de método de prueba usa un argumento constructor de cadena en lugar de la DisplayName propiedad .

Descripción de la regla

Al especificar un nombre de visualización personalizado para un método de prueba, debe usar la propiedad DisplayName en lugar de pasar una cadena como argumento de constructor. En MSTest 4.0 y versiones posteriores, el argumento del constructor de cadena se usa para la información de origen (ruta de acceso del archivo de llamada) en lugar del nombre de visualización, lo cual es un cambio significativo respecto a MSTest 3.x. El uso de la propiedad DisplayName garantiza que su código funcione correctamente y evite posibles confusiones.

[TestClass]
public class TestClass
{
    [TestMethod("My Test Name")] // Violation
    public void TestMethod()
    {
        // Test code
    }
}

Cómo corregir infracciones

Reemplace el argumento del constructor por la DisplayName propiedad .

[TestClass]
public class TestClass
{
    [TestMethod(DisplayName = "My Test Name")]
    public void TestMethod()
    {
        // Test code
    }
}

Cuándo suprimir las advertencias

No suprima las advertencias de esta regla. Hacer uso de la propiedad DisplayName es la única manera de especificar nombres visibles personalizados para los métodos de prueba. Si su intención es pasar explícitamente un valor para el parámetro de ruta de acceso del archivo de llamada en lugar de establecer un nombre para mostrar, puede suprimir esta advertencia, pero esto rara vez es necesario.

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

Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad a none en el archivo de configuración.

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0056.severity = none

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