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 |
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.