Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As regras de supressão suprimem automaticamente o diagnóstico de outros analisadores (como analisadores de threading do Roslyn ou do Visual Studio) que não se aplicam no contexto de testes MSTest.
Regras nesta categoria
| ID da regra | Title | Suprime |
|---|---|---|
| MSTEST0027 | Suprime o sufixo assíncrono para métodos de teste. | VSTHRD200 |
| MSTEST0028 | Suprimir o sufixo assíncrono para métodos de fixação de teste. | VSTHRD200 |
| MSTEST0033 | Ocultar referência não inicializada e não anulável. | CS8618 |
Como funcionam as regras de supressão
Essas regras não produzem seus próprios diagnósticos. Em vez disso, eles suprimem avisos de outros analisadores que, de outra forma, disparariam incorretamente no código de teste.
VSTHRD200: Use sufixo Async para métodos assíncronos
Suprimido por: MSTEST0027, MSTEST0028
Por que suprimir: o analisador de threading do Visual Studio (VSTHRD200) recomenda que os métodos assíncronos tenham um sufixo "Assíncrono". No entanto, métodos de teste e métodos de instalação de teste são descobertos pelo MSTest por meio de atributos, não convenções de nomenclatura. Adicionar sufixos "Async" aos nomes de métodos de teste (por exemplo, TestLoginAsync) não fornece nenhum valor e pode tornar os nomes de teste menos legíveis.
Exemplo:
[TestMethod]
public async Task TestLogin() // VSTHRD200 would warn without suppression
{
await LoginAsync();
// ...
}
CS8618: referência não anulável não inicializada
Suprimido por: MSTEST0033
Por que suprimir: ao usar tipos de referência anuláveis, o compilador alerta sobre propriedades não anuláveis que não são inicializadas em construtores. No entanto, o MSTest inicializa automaticamente a TestContext propriedade antes que os métodos de teste sejam executados, de modo que o aviso não se aplique.
Exemplo:
[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");
}
}
Desabilitar regras de supressão
Se você preferir ver esses avisos, desabilite as regras de supressão em seu .editorconfig:
[*.cs]
dotnet_diagnostic.MSTEST0027.severity = none
dotnet_diagnostic.MSTEST0028.severity = none
dotnet_diagnostic.MSTEST0033.severity = none