Dela via


MSTest-användningsregler

Regler som stöder korrekt användning av MSTest.

Identifikator Namn Beskrivning
MSTEST0002 TestClassShouldBeValidAnalyzer Testklasser, klasser som har markerats med attributet [TestClass], bör respektera följande layout för att anses vara giltig av MSTest:
– det ska vara public (eller internal om [assembly: DiscoverInternals] attribut har angetts)
- Det får inte vara static
- Det bör inte vara generiskt.
MSTEST0003 TestmetodBörVaraGiltigAnalysator Testmetoder, metoder som har markerats med attributet [TestMethod], bör respektera följande layout som anses vara giltig av MSTest:
– det ska vara public (eller internal om [assembly: DiscoverInternals] attribut har angetts)
- Det får inte vara static
- Det bör inte vara generiskt
- Det får inte vara abstract
- returtypen ska vara void eller Task
- Det får inte vara async void
- Det bör inte vara en särskild metod (till exempel finalizer eller operator).
MSTEST0005 AnalysatorFörTestkontextBörVaraGiltig TestContext-egenskapen bör följa följande layout för att vara giltig:
- det bör vara en egenskap
– det ska vara public (eller internal om [assembly: DiscoverInternals] attribut har angetts)
- Det får inte vara static
- Det ska inte vara skrivskyddat.
MSTEST0007 AnvändAttributPåTestMetodAnalysator Följande testattribut bör endast tillämpas på metoder som har markerats med attributet TestMethodAttribute:
- [CssIteration]
- [CssProjectStructure]
- [Description]
- [ExpectedException]
- [Owner]
- [Priority]
- [TestProperty]
- [WorkItem]
MSTEST0008 TestInitializeShouldBeValidAnalyzer Metoder som har markerats med [TestInitialize] bör följa följande layout för att vara giltiga:
- Det bör vara public
- Det får inte vara static
- Det bör inte vara generiskt
- Det får inte vara abstract
- det bör inte ta någon parameter
- returtypen ska vara void, Task eller ValueTask
- Det får inte vara async void
- Det bör inte vara en särskild metod (finalizer, operator ...).
MSTEST0009 TestCleanupShouldBeValidAnalyzer Metoder som har markerats med [TestCleanup] bör följa följande layout för att vara giltiga:
- Det bör vara public
- Det får inte vara static
- Det bör inte vara generiskt
- Det får inte vara abstract
- det bör inte ta någon parameter
- returtypen ska vara void, Task eller ValueTask
- Det får inte vara async void
- Det bör inte vara en särskild metod (finalizer, operator ...).
MSTEST0010 ClassInitializeSkaVaraGiltigAnalysator Metoder som har markerats med [ClassInitialize] bör följa följande layout för att vara giltiga:
- Det bör vara public
- Det bör vara static
- Det bör inte vara generiskt
– det bör ta en parameter av typen TestContext
- returtypen ska vara void, Task eller ValueTask
- Det får inte vara async void
- Det bör inte vara en särskild metod (finalizer, operator ...).
MSTEST0011 ClassCleanupShouldBeValidAnalyzer Metoder som har markerats med [ClassCleanup] bör följa följande layout för att vara giltiga:
- Det bör vara public
- Det bör vara static
- Det bör inte vara generiskt
- det bör inte ta någon parameter
- returtypen ska vara void, Task eller ValueTask
- Det får inte vara async void
- Det bör inte vara en särskild metod (finalizer, operator ...).
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer Metoder som har markerats med [AssemblyInitialize] bör följa följande layout för att vara giltiga:
- Det bör vara public
- Det bör vara static
- Det bör inte vara generiskt
– det bör ta en parameter av typen TestContext
- returtypen ska vara void, Task eller ValueTask
- Det får inte vara async void
- Det bör inte vara en särskild metod (finalizer, operator ...).
MSTEST0013 AnalysatorFörSammanställningsRengöringBörVaraGiltig Metoder som har markerats med [AssemblyCleanup] bör följa följande layout för att vara giltiga:
- Det bör vara public
- Det bör vara static
- Det bör inte vara generiskt
- det bör inte ta någon parameter
- returtypen ska vara void, Task eller ValueTask
- Det får inte vara async void
- Det bör inte vara en särskild metod (finalizer, operator ...).
MSTEST0014 AnalysatorFörGiltigDataposter [DataRow] instanser bör ha följande layout som giltig:
– de bör endast tillämpas på en testmetod
- antal argument ska matcha antalet metodparametrar
- argumenttypen ska matcha metodargumenttypen
MSTEST0017 Kontrollargument ska skickas i rätt ordning Argument för assertion ska skickas i rätt ordning
MSTEST0018 DynamicDataSkaVaraGiltigAnalyzer Metoder som har markerats med [DynamicData] bör också markeras med [TestMethod] (eller ett härlett attribut)
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Förneka inte booleska påståenden
MSTEST0024 DoNotStoreStaticTestContextAnalyzer Lagra inte TestContext i en statisk medlem
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Undvik villkorlig åtkomst i påståenden
MSTEST0030 TypInnehållandeTestMetodBordeVaraEnTestKlass Typ som innehåller [TestMethod] ska markeras med [TestClass]
MSTEST0031 DoNotUseSystemDescriptionAttribute "System.ComponentModel.DescriptionAttribute" har ingen effekt i samband med tester
MSTEST0032 GranskaAlltidSannVerifieringsvillkorsanalysator Granska eller ta bort försäkran eftersom dess villkor är känt för att alltid vara sant
MSTEST0034 UseClassCleanupBehaviorEndOfClass Använd ClassCleanupBehavior.EndOfClass med [ClassCleanup]
MSTEST0035 AnvändDeploymentItemMedTestMetodEllerTestKlassTitel [DeploymentItem] kan endast anges på testklass eller testmetod
MSTEST0037 Analysator för korrekt användning av verifieringsmetoder Använd rätt Assert metoder
MSTEST0038 AvoidAssertAreSameWithValueTypesAnalyzer Använd inte Assert.AreSame eller Assert.AreNotSame med värdetyper
MSTEST0039 Använd nyare funktionen AssertThrowsAnalyzer Använd nyare "Assert.Throws"-metoder
MSTEST0040 AvoidUsingAssertsInAsyncVoidContextAnalyzer Hävda inte i "asynkron void"-kontexter