Freigeben über


MSTest-Nutzungsregeln

Regeln, die die ordnungsgemäße Verwendung von MSTest unterstützen.

Bezeichner Name Beschreibung
MSTEST0002 TestClassShouldBeValidAnalyzer Testklassen (mit dem [TestClass]-Attribut gekennzeichnete Klassen) müssen das folgende Layout berücksichtigen, um von MSTest als gültig betrachtet zu werden:
- Sie müssen auf public festgelegt sein (oder auf internal, falls das [assembly: DiscoverInternals]-Attribut festgelegt ist).
- Sie dürfen nicht auf static festgelegt sein.
- Sie dürfen nicht generisch sein.
MSTEST0003 TestMethodShouldBeValidAnalyzer Testmethoden (mit dem [TestMethod]-Attribut gekennzeichnete Methoden) müssen das folgende Layout berücksichtigen, um von MSTest als gültig betrachtet zu werden:
- Sie müssen auf public festgelegt sein (oder auf internal, falls das [assembly: DiscoverInternals]-Attribut festgelegt ist).
- Sie dürfen nicht auf static festgelegt sein.
- Sie dürfen nicht generisch sein.
- Sie dürfen nicht auf abstract festgelegt sein.
- Der Rückgabetyp muss void oder Task sein.
- Sie dürfen nicht auf async void festgelegt sein.
- sollte keine spezielle Methode sein (z. B. Finalizer oder Operator).
MSTEST0005 TestContextShouldBeValidAnalyzer Die TestContext-Eigenschaft muss dem folgenden Layout entsprechen, um gültig zu sein:
- Sie muss eine Eigenschaft sein.
- Sie müssen auf public festgelegt sein (oder auf internal, falls das [assembly: DiscoverInternals]-Attribut festgelegt ist).
- Sie darf nicht auf static festgelegt sein.
- Sie darf nicht schreibgeschützt sein.
MSTEST0007 UseAttributeOnTestMethodAnalyzer Die folgenden Testattribute sollten nur auf Methoden angewendet werden, die mit dem Attribut TestMethodAttribute gekennzeichnet sind:
- [CssIteration]
- [CssProjectStructure]
- [Description]
- [ExpectedException]
- [Owner]
- [Priority]
- [TestProperty]
- [WorkItem]
MSTEST0008 TestInitializeShouldBeValidAnalyzer Methoden, die mit [TestInitialize] markiert sind, sollten dem folgenden Layout entsprechen, um gültig zu sein:
- sie sollte public sein
- Sie dürfen nicht auf static festgelegt sein.
- Sie dürfen nicht generisch sein.
- Sie dürfen nicht auf abstract festgelegt sein.
- sie sollte keinen Parameter verwenden
- der Rückgabetyp muss void, Task oder ValueTask sein
- Sie darf nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0009 TestCleanupShouldBeValidAnalyzer Methoden, die mit [TestCleanup] markiert sind, sollten dem folgenden Layout entsprechen, um gültig zu sein:
- sie sollte public sein
- Sie dürfen nicht auf static festgelegt sein.
- Sie dürfen nicht generisch sein.
- Sie dürfen nicht auf abstract festgelegt sein.
- sie sollte keinen Parameter verwenden
- der Rückgabetyp muss void, Task oder ValueTask sein
- Sie darf nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0010 ClassInitializeShouldBeValidAnalyzer Methoden, die mit [ClassInitialize] markiert sind, sollten dem folgenden Layout entsprechen, um gültig zu sein:
- sie sollte public sein
- sie sollte static sein
- Sie dürfen nicht generisch sein.
- sie sollte einen Parameter vom Typ TestContext verwenden
- der Rückgabetyp muss void, Task oder ValueTask sein
- Sie darf nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0011 ClassCleanupShouldBeValidAnalyzer Methoden, die mit [ClassCleanup] markiert sind, sollten dem folgenden Layout entsprechen, um gültig zu sein:
- sie sollte public sein
- sie sollte static sein
- Sie dürfen nicht generisch sein.
- sie sollte keinen Parameter verwenden
- der Rückgabetyp muss void, Task oder ValueTask sein
- Sie darf nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer Methoden, die mit [AssemblyInitialize] markiert sind, sollten dem folgenden Layout entsprechen, um gültig zu sein:
- sie sollte public sein
- sie sollte static sein
- Sie dürfen nicht generisch sein.
- sie sollte einen Parameter vom Typ TestContext verwenden
- der Rückgabetyp muss void, Task oder ValueTask sein
- Sie darf nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0013 AssemblyCleanupShouldBeValidAnalyzer Methoden, die mit [AssemblyCleanup] markiert sind, sollten dem folgenden Layout entsprechen, um gültig zu sein:
- sie sollte public sein
- sie sollte static sein
- Sie dürfen nicht generisch sein.
- sie sollte keinen Parameter verwenden
- der Rückgabetyp muss void, Task oder ValueTask sein
- Sie darf nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0014 DataRowShouldBeValidAnalyzer [DataRow]-Instanzen müssen das folgende Layout haben, um gültig zu sein:
– Sie dürfen nur für eine Testmethode festgelegt werden
– Die Argumentanzahl muss der Methodenparameteranzahl entsprechen
– Der Argumenttyp muss dem Methodenargumenttyp entsprechen
MSTEST0017 AssertionArgsShouldBePassedInCorrectOrder Assertionsargumente sollten in der richtigen Reihenfolge übergeben werden
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Boolesche Assertionen nicht negieren
MSTEST0024 DoNotStoreStaticTestContextAnalyzer TestContext nicht in einem statischen Member speichern
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Vermeiden des bedingten Zugriffs in Assert-Anweisungen