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.
Las reglas de supresión suprimen automáticamente los diagnósticos de otros analizadores (como Roslyn o analizadores de subprocesos de Visual Studio) que no se aplican en el contexto de las pruebas de MSTest.
Reglas de esta categoría
| Identificador de la regla | Title | Suprime |
|---|---|---|
| MSTEST0027 | Suprima el sufijo asincrónico para los métodos de prueba. | VSTHRD200 |
| MSTEST0028 | Suprima el sufijo async para los métodos de configuración de prueba. | VSTHRD200 |
| MSTEST0033 | Suprima una referencia que no acepta valores NULL no inicializada. | CS8618 |
Funcionamiento de las reglas de supresión
Estas reglas no generan sus propios diagnósticos. En su lugar, suprimen las advertencias de otros analizadores que, de lo contrario, se desencadenarían incorrectamente en el código de prueba.
VSTHRD200: Usar el sufijo Async para métodos async
Suprimido por: MSTEST0027, MSTEST0028
Por qué suprimir: el analizador de subprocesos de Visual Studio (VSTHRD200) recomienda que los métodos asincrónicos tengan un sufijo "asincrónico". Sin embargo, MSTest detecta métodos de prueba y métodos de accesorio de prueba a través de atributos, no convenciones de nomenclatura. Agregar sufijos "asincrónicos" para probar nombres de método (por ejemplo, TestLoginAsync) no proporciona ningún valor y puede hacer que los nombres de prueba sean menos legibles.
Ejemplo:
[TestMethod]
public async Task TestLogin() // VSTHRD200 would warn without suppression
{
await LoginAsync();
// ...
}
CS8618: referencia no anulable no inicializada
Suprimido por: MSTEST0033
Por qué suprimir: al usar tipos de referencia anulables, el compilador advierte sobre las propiedades no anulables que no se inicializan en los constructores. Sin embargo, MSTest inicializa automáticamente la TestContext propiedad antes de que se ejecuten los métodos de prueba, por lo que la advertencia no se aplica.
Ejemplo:
[TestClass]
public class MyTests
{
public TestContext TestContext { get; set; } = null!; // CS8618 would warn without suppression
[TestMethod]
public void TestSomething()
{
// TestContext is guaranteed to be non-null here
TestContext.WriteLine("Test output");
}
}
Deshabilitar reglas de supresión
Si prefiere ver estas advertencias, deshabilite las reglas de supresión en .editorconfig:
[*.cs]
dotnet_diagnostic.MSTEST0027.severity = none
dotnet_diagnostic.MSTEST0028.severity = none
dotnet_diagnostic.MSTEST0033.severity = none