Udostępnij za pośrednictwem


Reguły użycia MSTest

Reguły, które obsługują prawidłowe użycie biblioteki MSTest.

Identyfikator Nazwa/nazwisko opis
MSTEST0002 TestClassShouldBeValidAnalyzer 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 to być public (lub internal jeśli [assembly: DiscoverInternals] atrybut jest ustawiony)
- nie powinno być static
- nie powinien być ogólny.
MSTEST0003 TestMethodShouldBeValidAnalyzer Metody testowe, metody oznaczone za pomocą atrybutu [TestMethod] , powinny uwzględniać następujący układ, który ma być uznawany za prawidłowy przez MSTest:
- powinien to 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ć specjalną metodą (na przykład finalizatorem lub operatorem).
MSTEST0005 TestContextShouldBeValidAnalyzer Właściwość TestContext powinna być zgodna z następującym układem, aby był prawidłowy:
- powinna być właściwością
- powinien to 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 za pomocą powinny być zgodne z [TestInitialize] następującym układem, aby były prawidłowe:
- powinno to być public
- nie powinno być static
- nie powinien być ogólny
- nie powinno być abstract
- nie powinien przyjmować żadnego parametru
- zwracany typ powinien mieć voidwartość , Task lub ValueTask
- nie powinno być async void
- nie powinna być specjalną metodą (finalizer, operator...).
MSTEST0009 TestCleanupShouldBeValidAnalyzer Metody oznaczone za pomocą powinny być zgodne z [TestCleanup] następującym układem, aby były prawidłowe:
- powinno to być public
- nie powinno być static
- nie powinien być ogólny
- nie powinno być abstract
- nie powinien przyjmować żadnego parametru
- zwracany typ powinien mieć voidwartość , Task lub ValueTask
- nie powinno być async void
- nie powinna być specjalną metodą (finalizer, operator...).
MSTEST0010 ClassInitializeShouldBeValidAnalyzer Metody oznaczone za pomocą powinny być zgodne z [ClassInitialize] następującym układem, aby były prawidłowe:
- powinno to być public
- powinno to być static
- nie powinien być ogólny
- powinien przyjmować jeden parametr typu TestContext
- zwracany typ powinien mieć voidwartość , Task lub ValueTask
- nie powinno być async void
- nie powinna być specjalną metodą (finalizer, operator...).
MSTEST0011 ClassCleanupShouldBeValidAnalyzer Metody oznaczone za pomocą powinny być zgodne z [ClassCleanup] następującym układem, aby były prawidłowe:
- powinno to być public
- powinno to być static
- nie powinien być ogólny
- nie powinien przyjmować żadnego parametru
- zwracany typ powinien mieć voidwartość , Task lub ValueTask
- nie powinno być async void
- nie powinna być specjalną metodą (finalizer, operator...).
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer Metody oznaczone za pomocą powinny być zgodne z [AssemblyInitialize] następującym układem, aby były prawidłowe:
- powinno to być public
- powinno to być static
- nie powinien być ogólny
- powinien przyjmować jeden parametr typu TestContext
- zwracany typ powinien mieć voidwartość , Task lub ValueTask
- nie powinno być async void
- nie powinna być specjalną metodą (finalizer, operator...).
MSTEST0013 AssemblyCleanupShouldBeValidAnalyzer Metody oznaczone za pomocą powinny być zgodne z [AssemblyCleanup] następującym układem, aby były prawidłowe:
- powinno to być public
- powinno to być static
- nie powinien być ogólny
- nie powinien przyjmować żadnego parametru
- zwracany typ powinien mieć voidwartość , Task lub ValueTask
- nie powinno być async void
- nie powinna być specjalną metodą (finalizer, operator...).
MSTEST0014 DataRowShouldBeValidAnalyzer [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 AssertionArgsShouldBePassedInCorrectOrder Argumenty asercji powinny być przekazywane w prawidłowej kolejności
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Nie neguj asercji logicznych
MSTEST0024 DoNotStoreStaticTestContextAnalyzer Nie przechowuj elementu TestContext w statycznym elemencie członkowskim
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Unikanie dostępu warunkowego w asercji