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
(lubinternal
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
lubTask
- 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.