Udostępnij za pośrednictwem


MSTEST0003: Metody testowe powinny mieć prawidłowy układ

Właściwości Wartość
Identyfikator reguły MSTEST0003
Tytuł Metody testowe powinny mieć prawidłowy układ
Kategoria Użycie
Poprawka powodująca niezgodność lub niezgodność Kluczowa
Domyślnie włączone Tak
Ważność domyślna Ostrzeżenie
Wprowadzone w wersji 3.2.0
czy istnieje poprawka kodu Tak

Przyczyna

Metoda testowa nie śledzi jednego lub wielu punktów wymaganego układu metody testowej.

Opis reguły

Metody testowe (metody oznaczone za pomocą atrybutu [TestMethod] ) powinny postępować zgodnie z danym układem, aby był uznawany za prawidłowy przez narzędzie MSTest:

  • powinny mieć wartość public (lub internal jeśli [assembly: DiscoverInternals] atrybut jest ustawiony)
  • nie powinny być static
  • nie powinny być ogólne, jeśli używasz narzędzia MSTest 3.7 lub starszego
  • nie powinny być abstract
  • powinny wrócić void lub Task
  • nie powinny być async void
  • nie powinny być specjalną metodą (konstruktor, finalizer, operator...)
  • typ deklarujący tę metodę powinien być publiczny

Jak naprawić naruszenia

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

Kiedy pomijać ostrzeżenia

Nie pomijaj ostrzeżeń dla tej reguły. Ignorowanie tej reguły spowoduje zignorowanie testów, ponieważ narzędzie MSTest nie rozważy tej metody jako metody testowej.

Pomijanie ostrzeżenia

Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

#pragma warning disable MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0003.severity = none

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.