Delen via


MSTest-onderdrukkingsregels

Onderdrukkingsregels onderdrukken automatisch diagnostische gegevens van andere analyses (zoals Roslyn of Visual Studio threading analyzers) die niet van toepassing zijn in de context van MSTest-tests.

Regels in deze categorie

Regel-id Title Onderdrukt
MSTEST0027 Verwijder asynchrone achtervoegsel voor testmethoden. VSTHRD200
MSTEST0028 Onderdruk het async-achtervoegsel voor testfixture-methoden. VSTHRD200
MSTEST0033 Niet-nullable verwijzing onderdrukken die niet is geïnitialiseerd. CS8618

Hoe onderdrukkingsregels werken

Deze regels produceren geen eigen diagnostische gegevens. In plaats daarvan onderdrukken ze waarschuwingen van andere analyzers die anders ten onrechte zouden worden geactiveerd in testcode.

VSTHRD200: Async-achtervoegsel gebruiken voor asynchrone methoden

Onderdrukt door: MSTEST0027, MSTEST0028

Waarom onderdrukken: Visual Studio Threading Analyzer (VSTHRD200) raadt aan dat asynchrone methoden een Async-achtervoegsel moeten hebben. Testmethoden en testmethodes worden echter door MSTest ontdekt via kenmerken, niet via naamgevingsconventies. Het toevoegen van Async-achtervoegsels aan testmethodenamen (bijvoorbeeld TestLoginAsync) biedt geen waarde en kan testnamen minder leesbaar maken.

Voorbeeld:

[TestMethod]
public async Task TestLogin() // VSTHRD200 would warn without suppression
{
    await LoginAsync();
    // ...
}

CS8618: Niet-nullable reference niet geïnitialiseerd

Onderdrukt door: MSTEST0033

Waarom onderdrukken: Wanneer u null-referentietypen gebruikt, waarschuwt de compiler voor niet-null-eigenschappen die niet in constructors worden geïnitialiseerd. MSTest initialiseert de TestContext eigenschap echter automatisch voordat er testmethoden worden uitgevoerd, zodat de waarschuwing niet van toepassing is.

Voorbeeld:

[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");
    }
}

Onderdrukkingsregels uitschakelen

Als u deze waarschuwingen liever ziet, schakelt u de onderdrukkingsregels in uw .editorconfig uit.

[*.cs]
dotnet_diagnostic.MSTEST0027.severity = none
dotnet_diagnostic.MSTEST0028.severity = none
dotnet_diagnostic.MSTEST0033.severity = none