Comparteix a través de


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
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

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 (o internal 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 o Task
  • 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.