Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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