Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As regras de supressão suprimem automaticamente diagnósticos de outros analisadores (como Roslyn ou Visual Studio threading analyzers) que não se aplicam no contexto dos testes MSTest.
Regras nesta categoria
| ID da regra | Title | Suprime |
|---|---|---|
| MSTEST0027 | Suprimir o sufixo assíncrono para métodos de teste. | VSTHRD200 |
| MSTEST0028 | Suprimir o sufixo assíncrono para métodos de teste de dispositivos. | VSTHRD200 |
| MSTEST0033 | Suprimir referência não nula que não foi inicializada. | CS8618 |
Como funcionam as regras de supressão
Estas regras não produzem os seus próprios diagnósticos. Ao invés disso, suprimem avisos de outros analisadores que, de outra forma, seriam ativados incorretamente no código de teste.
VSTHRD200: Usar o sufixo "Async" para métodos assíncronos
Suprimido por: MSTEST0027, MSTEST0028
Porquê suprimir: O analisador de threads do Visual Studio (VSTHRD200) recomenda que os métodos assíncronos tenham um sufixo "Assync". No entanto, métodos de teste e métodos de ambiente de teste são descobertos pelo MSTest através de atributos, não por convenções de nomenclatura. Adicionar sufixos "Assync" aos nomes dos métodos de teste (por exemplo, TestLoginAsync) não fornece valor e pode tornar os nomes dos testes 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
Porquê suprimir: Ao usar tipos de referência anuláveis, o compilador alerta sobre propriedades não anuláveis que não estão inicializadas nos construtores. No entanto, o MSTest inicializa automaticamente a TestContext propriedade antes de qualquer método de teste ser executado, pelo que o aviso não se aplica.
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");
}
}
Desativar regras de supressão
Se preferir ver estes avisos, desative as regras de supressão no seu .editorconfig:
[*.cs]
dotnet_diagnostic.MSTEST0027.severity = none
dotnet_diagnostic.MSTEST0028.severity = none
dotnet_diagnostic.MSTEST0033.severity = none