Delen via


MSTest-gebruiksregels

Regels die ondersteuning bieden voor het juiste gebruik van MSTest.

Identificatie Naam Beschrijving
MSTEST0002 TestklasseMoetGeldigZijnAnalyser Testklassen, klassen die zijn gemarkeerd met het kenmerk [TestClass], moeten de volgende indeling respecteren om te worden beschouwd als geldig door MSTest:
- het zou moeten zijn public (of internal als het [assembly: DiscoverInternals] kenmerk is ingesteld)
- het mag niet static
- het mag niet algemeen zijn.
MSTEST0003 TestMethodShouldBeValidAnalyzer Testmethoden, methoden die zijn gemarkeerd met het kenmerk [TestMethod], moeten de volgende indeling respecteren om te worden beschouwd als geldig door MSTest:
- het zou moeten zijn public (of internal als het [assembly: DiscoverInternals] kenmerk is ingesteld)
- het mag niet static
- het mag niet algemeen zijn
- het mag niet abstract
- retourtype moet void of Task zijn
- het mag niet async void
- het mag geen speciale methode zijn (bijvoorbeeld finalizer of operator).
MSTEST0005 TestContextShouldBeValidAnalyzer De eigenschap TestContext moet de volgende indeling hebben om geldig te zijn:
- het moet een eigenschap zijn
- het zou moeten zijn public (of internal als het [assembly: DiscoverInternals] kenmerk is ingesteld)
- het mag niet static
- deze mag niet alleen-lezen zijn.
MSTEST0007 UseAttributeOnTestMethodAnalyzer De volgende testkenmerken mogen alleen worden toegepast op methoden die zijn gemarkeerd met het kenmerk TestMethodAttribute:
- [CssIteration]
- [CssProjectStructure]
- [Description]
- [ExpectedException]
- [Owner]
- [Priority]
- [TestProperty]
- [WorkItem]
MSTEST0008 TestInitializeShouldBeValidAnalyzer (functie- of methodenaam) Methoden die zijn gemarkeerd met [TestInitialize] moeten de volgende indeling hebben:
- het moet public
- het mag niet static
- het mag niet algemeen zijn
- het mag niet abstract
- er mag geen parameter worden gebruikt
- retourtype moet worden void, Task of ValueTask
- het mag niet async void
- het mag geen speciale methode zijn (finalizer, operator...).
MSTEST0009 TestCleanupShouldBeValidAnalyzer Methoden die zijn gemarkeerd met [TestCleanup] moeten de volgende indeling hebben:
- het moet public
- het mag niet static
- het mag niet algemeen zijn
- het mag niet abstract
- er mag geen parameter worden gebruikt
- retourtype moet worden void, Task of ValueTask
- het mag niet async void
- het mag geen speciale methode zijn (finalizer, operator...).
MSTEST0010 KlasseInitializeShouldBeValidAnalyzer Methoden die zijn gemarkeerd met [ClassInitialize] moeten de volgende indeling hebben:
- het moet public
- het moet static
- het mag niet algemeen zijn
- het moet één parameter van het type TestContext
- retourtype moet worden void, Task of ValueTask
- het mag niet async void
- het mag geen speciale methode zijn (finalizer, operator...).
MSTEST0011 ClassCleanupShouldBeValidAnalyzer Methoden die zijn gemarkeerd met [ClassCleanup] moeten de volgende indeling hebben:
- het moet public
- het moet static
- het mag niet algemeen zijn
- er mag geen parameter worden gebruikt
- retourtype moet worden void, Task of ValueTask
- het mag niet async void
- het mag geen speciale methode zijn (finalizer, operator...).
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer Methoden die zijn gemarkeerd met [AssemblyInitialize] moeten de volgende indeling hebben:
- het moet public
- het moet static
- het mag niet algemeen zijn
- het moet één parameter van het type TestContext
- retourtype moet worden void, Task of ValueTask
- het mag niet async void
- het mag geen speciale methode zijn (finalizer, operator...).
MSTEST0013 AssemblyCleanupShouldBeValidAnalyzer Methoden die zijn gemarkeerd met [AssemblyCleanup] moeten de volgende indeling hebben:
- het moet public
- het moet static
- het mag niet algemeen zijn
- er mag geen parameter worden gebruikt
- retourtype moet worden void, Task of ValueTask
- het mag niet async void
- het mag geen speciale methode zijn (finalizer, operator...).
MSTEST0014 DataRowShouldBeValidAnalyzer (analyzer voor geldige dataregel) [DataRow] exemplaren moeten de volgende indeling hebben om geldig te zijn:
- ze mogen alleen worden ingesteld op een testmethode
- het aantal argumenten moet overeenkomen met het aantal parameters van de methode
- argumenttype moet overeenkomen met het argumenttype van de methode
MSTEST0017 AssertionArgsShouldBePassedInCorrectOrder Assertieargumenten moeten in de juiste volgorde worden doorgegeven
MSTEST0018 DynamicDataMoetGeldigZijnAnalyzer Methoden die zijn gemarkeerd met [DynamicData] moeten ook worden gemarkeerd met [TestMethod] (of een afgeleid kenmerk)
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Booleaanse asserties niet ontkennen
MSTEST0024 DoNotStoreStaticTestContextAnalyzer TestContext niet opslaan in een statisch lid
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Voorwaardelijke toegang voorkomen in asserties
MSTEST0030 Type met Testmethode Moet een Testklasse Zijn Het type met [TestMethod] moet worden gemarkeerd met [TestClass]
MSTEST0031 DoNotUseSystemDescriptionAttribute System.ComponentModel.DescriptionAttribute heeft geen effect in de context van tests
MSTEST0032 ControleAltijdWaarBeweringConditieAnalyzer Controleer of verwijder de assertie omdat de voorwaarde ervan altijd waar is
MSTEST0034 GebruikClassOpschoonGedragEindeVanKlasse Gebruik ClassCleanupBehavior.EndOfClass met de [ClassCleanup]
MSTEST0035 UseDeploymentItemWithTestMethodOrTestClassTitle [DeploymentItem] kan alleen worden opgegeven voor testklasse of testmethode
MSTEST0037 UseProperAssertMethodsAnalyzer De juiste Assert methoden gebruiken
MSTEST0038 VermijdAssertAreSameWithValueTypesAnalyzer Gebruik geen Assert.AreSame of Assert.AreNotSame met waardetypen
MSTEST0039 UseNewerAssertThrowsAnalyzer Nieuwere methoden 'Assert.Throws' gebruiken
MSTEST0040 AvoidUsingAssertsInAsyncVoidContextAnalyzer Niet asserties uitvoeren binnen 'async void'-contexten