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 | Importancia |
|---|---|
| Identificador de la regla | MSTEST0060 |
| Título | Evitar atributos de método de prueba duplicados |
| Categoría | Usage |
| La corrección es disruptiva o no disruptiva | Non-breaking |
| Habilitado de forma predeterminada | Sí |
| Gravedad predeterminada | Advertencia |
| introducido en la versión | 4.1.0 |
| ¿Hay una corrección de código? | No |
Causa
Un método de prueba tiene varias TestMethodAttribute declaraciones.
Descripción de la regla
Un método de prueba debe tener solo un atributo que derive de TestMethodAttribute. Tener varios atributos de método de prueba (como [TestMethod] y [UITestMethod]) en el mismo método hace que solo se use un atributo (el primero devuelto por la reflexión), lo que puede resultar confuso y provocar la ejecución de pruebas no deseadas.
[TestClass]
public class TestClass
{
[TestMethod]
[UITestMethod] // Violation
public void TestMethod1()
{
// Test code
}
}
Cómo corregir infracciones
Quite el atributo duplicado y mantenga solo el que coincida con el propósito del método de prueba.
[TestClass]
public class TestClass
{
[TestMethod]
public void TestMethod1()
{
// Test code
}
}
Cuándo suprimir las advertencias
No suprima las advertencias de esta regla. Tener varios atributos de método de prueba crea una configuración de prueba ambigua donde solo se usa un atributo, lo que puede causar confusión sobre qué comportamiento de prueba se aplica realmente.
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 MSTEST0060
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0060
Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad a none en el archivo de configuración.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0060.severity = none
Para obtener más información, consulte Cómo suprimir advertencias de análisis de código.