Compartir vía


MSTEST0030: el tipo que contiene [TestMethod] debe marcarse con [TestClass]

Propiedad Value
Identificador de la regla MSTEST0030
Título El tipo que contiene [TestMethod] debe marcarse con [TestClass]
Categoría Uso
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada
Gravedad predeterminada Información
Introducido en la versión 3.5.0
Hay una corrección de código No

Causa

El tipo que contiene [TestMethod] debe marcarse con [TestClass]; de lo contrario, el método de prueba se omitirá silenciosamente.

Descripción de la regla

MSTest considera los métodos de prueba solo en el contexto de un contenedor de clases de prueba (una clase marcada con [TestClass] o atributo derivado), lo que podría provocar que algunas pruebas se omitan silenciosamente. Si se supone que la clase representa el comportamiento de prueba común que deben ejecutar las clases secundarias, se recomienda marcar el tipo como abstracto para aclarar la intención de otros desarrolladores que lean el código.

Cómo corregir infracciones

Una clase no abstracta contiene métodos de prueba deben marcarse con "[TestClass]".

Cuándo suprimir las advertencias

Es seguro suprimir el diagnóstico si está seguro de que la clase se hereda y que las pruebas declaradas en esta clase solo se deben ejecutar en el contexto de las subclases. No obstante, se recomienda marcar la clase como abstracta.

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

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

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