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 | Sí |
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.