Lenguaje
Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
| Propiedad | Valor |
|---|---|
| Identificador de la regla | MSTEST0004 |
| Título | Los tipos públicos deben ser clases de prueba |
| Categoría | Diseño |
| La corrección es problemática o no problemática | Problemático |
| Habilitado de forma predeterminada | No |
| Gravedad predeterminada | Deshabilitado |
| Introducido en la versión | 3.2.0 |
| Hay una corrección de código | Sí |
Causa
Un tipo público no es una clase de prueba (clase marcada con el atributo [TestClass] ).
Descripción de la regla
Para distinguir las pruebas ejecutables del código de soporte, reserve las clases concretas públicamente visibles para las clases de prueba y mantenga las clases auxiliares internal siempre que sea posible. Esta regla de diseño de inclusión voluntaria le ayuda a detectar la ausencia del atributo [TestClass] o una función auxiliar expuesta públicamente de forma no intencionada.
Las clases auxiliares públicas no son código MSTest no válido. La regla aplica una convención de proyecto, no un requisito de detección y no notifica clases abstractas o estáticas.
Cómo corregir infracciones
Cambie la accesibilidad del tipo para que no sea public.
Cuándo suprimir las advertencias
Suprima el diagnóstico cuando un método auxiliar debe permanecer público para otro ensamblado o un contrato existente. Una clase auxiliar pública deliberadamente no se convierte en una clase de prueba a menos que tenga [TestClass] o un atributo derivado.
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 MSTEST0004
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0004
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.MSTEST0004.severity = none
Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.