Udostępnij za pośrednictwem


MSTEST0008: Metoda TestInitialize powinna mieć prawidłowy układ

Właściwości Wartość
Identyfikator reguły MSTEST0008
Tytuł Metoda TestInitialize powinna mieć prawidłowy układ
Kategoria Użycie
Poprawka powodująca niezgodność lub niezgodność Niezgodność
Domyślnie włączone Tak
Ważność domyślna Ostrzeżenie
Wprowadzone w wersji 3.3.0
Istnieje poprawka kodu Tak

Przyczyna

Metoda oznaczona elementem [TestInitialize] powinna mieć prawidłowy układ.

Opis reguły

Metody oznaczone za pomocą powinny być zgodne z [TestInitialize] następującym układem, aby były prawidłowe:

  • powinna być public
  • nie powinien być abstract
  • nie powinien być async void
  • nie powinien być static
  • nie powinna być metodą specjalną (finalizer, operator...).
  • nie powinien być ogólny
  • nie powinien przyjmować żadnego parametru
  • zwracany typ powinien mieć voidwartość , Task lub ValueTask

Typ deklarujący te metody powinien również przestrzegać następujących reguł:

  • Typ powinien mieć wartość class.
  • Element class powinien mieć wartość public lub internal (jeśli projekt testowy używa atrybutu [DiscoverInternals] ).
  • Wartość class nie powinna być .static
  • Jeśli element class ma sealedwartość , powinien zostać oznaczony znakiem [TestClass] (lub atrybutem pochodnym).

Jak naprawić naruszenia

Upewnij się, że metoda jest zgodna z układem opisanym powyżej.

Kiedy pomijać ostrzeżenia

Nie pomijaj ostrzeżeń dla tej reguły. Jeśli zignorujesz tę regułę, oflagowane wystąpienia zostaną pominięte lub spowodują błąd środowiska uruchomieniowego.