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:
- es sollte public sein (oder internal, wenn 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:
- es sollte public sein (oder internal, wenn 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.
- es sollte public sein (oder internal, wenn das [assembly: DiscoverInternals]-Attribut festgelegt ist)
- Sie dürfen 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] gekennzeichnet sind, müssen folgendes Layout aufweisen, 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 dürfen nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0009 TestCleanupShouldBeValidAnalyzer Methoden, die mit [TestCleanup] gekennzeichnet sind, müssen folgendes Layout aufweisen, 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 dürfen nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0010 ClassInitializeShouldBeValidAnalyzer Methoden, die mit [ClassInitialize] gekennzeichnet sind, müssen folgendes Layout aufweisen, 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 dürfen nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0011 ClassCleanupShouldBeValidAnalyzer Methoden, die mit [ClassCleanup] gekennzeichnet sind, müssen folgendes Layout aufweisen, 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 dürfen nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer Methoden, die mit [AssemblyInitialize] gekennzeichnet sind, müssen folgendes Layout aufweisen, 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 dürfen nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0013 AssemblyCleanupShouldBeValidAnalyzer Methoden, die mit [AssemblyCleanup] gekennzeichnet sind, müssen folgendes Layout aufweisen, 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 dürfen nicht auf async void festgelegt sein.
- es sollte sich nicht um eine spezielle Methode (Finalizer, Operator...) handeln.
MSTEST0014 DataRowShouldBeValidAnalyzer [DataRow]-Instanzen sollten 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 AssertionsArgumenteSolltenInDerRichtigenReihenfolgeÜbergebenWerden Assertionsargumente sollten in der richtigen Reihenfolge übergeben werden
MSTEST0018 DynamicDataShouldBeValidAnalyzer Methoden, die mit [DynamicData] gekennzeichnet sind, sollten auch mit [TestMethod] (oder einem abgeleiteten Attribut) gekennzeichnet sein
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Boolesche Assertionen nicht negieren
MSTEST0024 DoNotStoreStaticTestContextAnalyzer TestContext nicht in einem statischen Member speichern
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Vermeiden des bedingten Zugriffs in Assert-Anweisungen
MSTEST0030 TypeContainingTestMethodShouldBeATestClass Ein Typ, der [TestMethod] enthält, sollte mit [TestClass] gekennzeichnet werden.
MSTEST0031 DoNotUseSystemDescriptionAttribute 'System.ComponentModel.DescriptionAttribute' hat im Kontext von Tests keine Wirkung
MSTEST0032 ReviewAlwaysTrueAssertConditionAnalyzer Überprüfen oder entfernen Sie die Annahme, da ihre Bedingung bekanntlich immer wahr ist.
MSTEST0034 UseClassCleanupBehaviorEndOfClass ClassCleanupBehavior.EndOfClass mit [ClassCleanup] verwenden.
MSTEST0035 UseDeploymentItemWithTestMethodOrTestClassTitle [DeploymentItem] kann nur bei Testklassen oder Testmethoden angegeben werden
MSTEST0037 UseProperAssertMethodsAnalyzer Die richtigen Assert-Methoden verwenden
MSTEST0038 AvoidAssertAreSameWithValueTypesAnalyzer Assert.AreSame und Assert.AreNotSame nicht mit Werttypen verwenden
MSTEST0039 UseNewerAssertThrowsAnalyzer Verwenden Sie neuere 'Assert.Throws' Methoden
MSTEST0040 AvoidUsingAssertsInAsyncVoidContextAnalyzer Assert nicht innerhalb von 'async void' Kontexten