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 |
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.