Udostępnij za pośrednictwem


Reguły projektowania MSTest

Reguły projektowania ułatwiają tworzenie i konserwowanie zestawów testów, które są zgodne z odpowiednimi rozwiązaniami projektowymi i dobrymi rozwiązaniami.

Identyfikator Nazwa Opis
MSTEST0004 PublicTypeShouldBeTestClassAnalyzer Dobrym rozwiązaniem jest posiadanie tylko klas testowych oznaczonych jako publiczne w projekcie testowym.
MSTEST0006 AvoidExpectedExceptionAttributeAnalyzer Preferuj Assert.ThrowsExactly lub Assert.ThrowsExactlyAsync zamiast [ExpectedException], ponieważ to gwarantuje, że tylko oczekiwane wywołanie zgłasza oczekiwany wyjątek. Interfejsy API asercji zapewniają również większą elastyczność i umożliwiają uzyskanie dodatkowych właściwości wyjątku.
MSTEST0015 MetodaTestowaNiePowinnaByćIgnorowana Metody testowe nie powinny być ignorowane (oznaczone [Ignore]).
MSTEST0016 TestClassShouldHaveTestMethod Klasa testowa powinna mieć co najmniej jedną metodę testową lub być "statyczna" z metodami oznaczonymi przez [AssemblyInitialization] i/lub [AssemblyCleanup].
MSTEST0019 Preferuj TestInitialize zamiast Analyzer konstruktora Preferuj metody TestInitialize nad konstruktorami
MSTEST0020 PreferConstructorOverTestInitializeAnalyzer Preferuj konstruktory zamiast metod TestInitialize
MSTEST0021 PreferDisposeOverTestCleanupAnalyzer Preferuj metody Dispose zamiast TestCleanup
MSTEST0022 PreferTestCleanupOverDisposeAnalyzer Preferuj metodę TestCleanup nad metodami Dispose
MSTEST0025 PreferAssertFailOverAlwaysFalseConditionsAnalyzer Użyj instrukcji "Assert.Fail" zamiast potwierdzenia, które kończy się niepowodzeniem
MSTEST0029 MetodaPublicznaPowinnaByćMetodąTestującą Metoda public klasy oznaczonej [TestClass] powinna być metodą testową (oznaczoną [TestMethod]). Reguła ignoruje metody oznaczone atrybutami [TestInitialize]lub [TestCleanup].
MSTEST0036 Nie używaj analizatora cieniowania Śledzenie członków testów może powodować problemy z testowaniem (takie jak NRE).