MSTEST0003: Los métodos de prueba deben tener un diseño válido
Propiedad | Value |
---|---|
Identificador de la regla | MSTEST0003 |
Título | Los métodos de prueba deben tener un diseño válido |
Categoría | Uso |
La corrección es problemática o no problemática | Problemático |
Habilitado de forma predeterminada | Sí |
Gravedad predeterminada | Advertencia (escalada a Error cuando se establece MSTestAnalysisMode a Recommended o All ) |
Introducido en la versión | 3.2.0 |
Hay una corrección de código | Sí |
Causa
Un método de prueba no sigue uno o varios puntos del diseño de métodos de prueba necesario.
Descripción de la regla
Los métodos de prueba (métodos marcados con el atributo [TestMethod]
) deben seguir el diseño especificado para que MSTest los considere válidos:
- deben ser
public
(ointernal
si se establece el atributo[assembly: DiscoverInternals]
) - no deben ser
static
- no deben ser genéricos si se usa MSTest 3.7 o versiones anteriores.
- no deben ser
abstract
- deben devolver
void
oTask
- no deben ser
async void
- no deben ser un método especial (constructor, finalizador, operador...)
- el tipo que declara este método debe ser público.
Cómo corregir infracciones
Asegúrese de que el método de prueba coincide con el diseño necesario descrito anteriormente.
Cuándo suprimir las advertencias
No suprima las advertencias de esta regla. Omitir esta regla dará lugar a que se omitan las pruebas, ya que MSTest no considerará que este método es un método de prueba.
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 MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003
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.MSTEST0003.severity = none
Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.