Reguły użycia MSTest
Reguły, które obsługują prawidłowe użycie biblioteki MSTest.
Identyfikator | Nazwa | Opis |
---|---|---|
MSTEST0002 | AnalizatorKlasyTestowejPowinienByćPrawidłowy | Klasy testowe, klasy oznaczone atrybutem [TestClass] , powinny uwzględniać następujący układ, który ma być uznawany za prawidłowy przez MSTest: — powinien być public (lub internal , jeśli [assembly: DiscoverInternals] atrybut jest ustawiony)- nie powinno być static - nie powinien być ogólny. |
MSTEST0003 | MetodaTestowaPowinnaByćPoprawnymAnalizatorem | Metody testowe, metody oznaczone atrybutem [TestMethod] , powinny uwzględniać następujący układ, który ma być uznawany za prawidłowy przez msTest:— powinien być public (lub internal , jeśli [assembly: DiscoverInternals] atrybut jest ustawiony)- nie powinno być static - nie powinien być ogólny - nie powinno być abstract - zwracany typ powinien być void lub Task - nie powinno być async void - nie powinna być szczególną metodą (na przykład finalizator lub operator). |
MSTEST0005 | TestContextShouldBeValidAnalyzer | Właściwość TestContext powinna być zgodna z następującym układem, aby była prawidłowa. - powinna być własnością — powinien być public (lub internal , jeśli [assembly: DiscoverInternals] atrybut jest ustawiony)- nie powinno być static - nie należy go odczytywać w sposób czytelny. |
MSTEST0007 | UseAttributeOnTestMethodAnalyzer | Następujące atrybuty testowe powinny być stosowane tylko dla metod oznaczonych atrybutem TestMethodAttribute: - [CssIteration] - [CssProjectStructure] - [Description] - [ExpectedException] - [Owner] - [Priority] - [TestProperty] - [WorkItem] |
MSTEST0008 | TestInitializeShouldBeValidAnalyzer | Metody oznaczone [TestInitialize] powinny stosować następujący układ, aby były ważne.- powinna być public - nie powinno być static - nie powinien być ogólny - nie powinno być abstract - nie powinien przyjmować żadnego parametru — zwracany typ powinien być void , Task lub ValueTask - nie powinno być async void - nie powinna być specjalną metodą (finalizer, operator...). |
MSTEST0009 | TestCleanupShouldBeValidAnalyzer | Metody oznaczone [TestCleanup] powinny stosować następujący układ, aby były ważne.- powinna być public - nie powinno być static - nie powinien być ogólny - nie powinno być abstract - nie powinien przyjmować żadnego parametru — zwracany typ powinien być void , Task lub ValueTask - nie powinno być async void - nie powinna być specjalną metodą (finalizer, operator...). |
MSTEST0010 | ClassInitializeShouldBeValidAnalyzer | Metody oznaczone [ClassInitialize] powinny stosować następujący układ, aby były ważne.- powinna być public - powinna być static - nie powinien być ogólny - powinien przyjmować jeden parametr typu TestContext — zwracany typ powinien być void , Task lub ValueTask - nie powinno być async void - nie powinna być specjalną metodą (finalizer, operator...). |
MSTEST0011 | ClassCleanupShouldBeValidAnalyzer | Metody oznaczone [ClassCleanup] powinny stosować następujący układ, aby były ważne.- powinna być public - powinna być static - nie powinien być ogólny - nie powinien przyjmować żadnego parametru — zwracany typ powinien być void , Task lub ValueTask - nie powinno być async void - nie powinna być specjalną metodą (finalizer, operator...). |
MSTEST0012 | AnalizatorZainicjowaniaZgromadzeniaPowinnaByćWażna | Metody oznaczone [AssemblyInitialize] powinny stosować następujący układ, aby były ważne.- powinna być public - powinna być static - nie powinien być ogólny - powinien przyjmować jeden parametr typu TestContext — zwracany typ powinien być void , Task lub ValueTask - nie powinno być async void - nie powinna być specjalną metodą (finalizer, operator...). |
MSTEST0013 | AssemblyCleanupShouldBeValidAnalyzer | Metody oznaczone [AssemblyCleanup] powinny stosować następujący układ, aby były ważne.- powinna być public - powinna być static - nie powinien być ogólny - nie powinien przyjmować żadnego parametru — zwracany typ powinien być void , Task lub ValueTask - nie powinno być async void - nie powinna być specjalną metodą (finalizer, operator...). |
MSTEST0014 | (if localization is deemed necessary): ValidacjaWierszaPowinnaByćPrawidłowaAnalyzer |
[DataRow] wystąpienia powinny mieć następujący układ, aby był prawidłowy:— należy je ustawić tylko w metodzie testowej - liczba argumentów powinna odpowiadać liczbie parametrów metody - typ argumentu powinien być zgodny z typem argumentu metody |
MSTEST0017 | ArgumentyDoAssercjiPowinnyByćPrzekazywaneWeWłaściwejKolejności | Argumenty asercji powinny być przekazywane w prawidłowej kolejności |
MSTEST0018 | AnalizatorDanychDynamicznychPowinnyByćPoprawne | Metody oznaczone [DynamicData] powinny być również oznaczone [TestMethod] (lub atrybut pochodny) |
MSTEST0023 | DoNotNegateBooleanAssertionAnalyzer (analyzer nieodwracania asercji logicznej) | Nie neguj asercji boolowskich |
MSTEST0024 | DoNotStoreStaticTestContextAnalyzer | Nie przechowuj obiektu TestContext w zmiennej statycznej |
MSTEST0026 | AssertionArgsShouldAvoidConditionalAccessRuleId | Unikaj dostępu warunkowego w asercjach |
MSTEST0030 | TypZawierającyMetodęTestującąPowinienByćKlasąTestową | Typ zawierający [TestMethod] powinien być oznaczony [TestClass] |
MSTEST0031 | DoNotUseSystemDescriptionAttribute (Nie używaj atrybutu opisu systemu) | Element "System.ComponentModel.DescriptionAttribute" nie ma wpływu w kontekście testów |
MSTEST0032 | AnalizatorWarunkuZawszePrawdziwegoWAssert | Przejrzyj lub usuń asercję, ponieważ jej warunek jest znany jako zawsze prawdziwy |
MSTEST0034 | UseClassCleanupBehaviorEndOfClass | Użyj ClassCleanupBehavior.EndOfClass z [ClassCleanup] |
MSTEST0035 | UseDeploymentItemWithTestMethodOrTestClassTitle |
[DeploymentItem] można określić tylko w klasie testowej lub metodzie testowej |
MSTEST0037 | UseProperAssertMethodsAnalyzer | Użyj odpowiednich metod Assert |
MSTEST0038 | AvoidAssertAreSameWithValueTypesAnalyzer | Nie używaj Assert.AreSame ani Assert.AreNotSame z typami wartości |
MSTEST0039 | UseNewerAssertThrowsAnalyzer | Użyj nowszych metod "Assert.Throws" |
MSTEST0040 | Unikaj używania instrukcji asercji w kontekście AsyncVoid w narzędziu Analyzer | Nie używaj asercji wewnątrz kontekstów 'async void' |
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.