MSTEST0019: preferir métodos TestInitialize sobre constructores
Propiedad | Value |
---|---|
Identificador de la regla | MSTEST0019 |
Título | Preferencia de métodos TestInitialize antes que constructores |
Categoría | Diseño |
La corrección es problemática o no problemática | Poco problemático |
Habilitado de forma predeterminada | No |
Gravedad predeterminada | Información |
Introducido en la versión | 3.4.0 |
Hay una corrección de código | Sí |
Causa
Esta regla genera un diagnóstico cuando hay un constructor explícito sin parámetros declarado en una clase de prueba (clase marcada con [TestClass]
).
Descripción de la regla
Use esta regla para aplicar el uso [TestInitialize]
para la inicialización de pruebas sincrónicas y asincrónicas. La inicialización de prueba asincrónica (asincrónica/await) requiere el uso de [TestInitialize]
métodos, ya que el resultado Task
debe esperarse.
Cómo corregir infracciones
Reemplace la llamada del constructor por un método[TestInitialize]
.
Cuándo suprimir las advertencias
Normalmente, no se recomienda suprimir las advertencias de esta regla si decidió participar en ella.
Nota:
Esta regla es opcional. No se encuentra habilitado incluso si se usa <MSTestAnalysisMode>All</MSTestAnalysisMode>
. Para obtener más información sobre MSTestAnalysisMode
, consulte el análisis de código de MSTest .
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 MSTEST0019
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0019
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.MSTEST0019.severity = none
Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.