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 |
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.