Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
| Właściwość | Wartość |
|---|---|
| Identyfikator reguły | MSTEST0029 |
| Tytuł | Metoda publiczna powinna być metodą testową |
| Kategoria | Projekt |
| Poprawka niekompatybilna lub kompatybilna wstecznie | Niedzielący |
| Domyślnie włączone | Nie |
| Domyślna ważność | Informacja |
| Wprowadzone w wersji | 3.5.0 |
| czy istnieje poprawka kodu | Tak |
Przyczyna
Metoda public powinna być metodą testową.
Opis reguły
public Metoda klasy oznaczonej za pomocą [TestClass] powinna być metodą testową (oznaczoną za pomocą [TestMethod]). Reguła ignoruje metody oznaczone atrybutami [TestInitialize]lub [TestCleanup] .
Sama publiczna widoczność nie czyni z metody testu. Ta konwencja opt-in ułatwia przechwycenie brakującego atrybutu [TestMethod] i odróżnienie punktów wejścia testowego od metod pomocniczych. Pomocnik może nadal być prawidłowym, publicznie dostępnym elementem kodu, ale narzędzie MSTest nie odnajduje go jako niezależnego testu.
Jak naprawić naruszenia
Dodaj [TestMethod], jeśli metoda ma być testem. Jeśli jest pomocnikiem, zapewnij mu najmniejszą widoczność, jakiej wymagają miejsca wywołujące, zamiast przekształcać go w test.
Kiedy pomijać ostrzeżenia
Pomiń diagnostykę, jeśli metoda jest celowo publiczną metodą pomocniczą lub musi spełniać kontrakt publiczny. Nie ignoruj braku atrybutu w zamierzonym teście, ponieważ ten test nie zostanie wykonany.
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 MSTEST0029
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0029
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0029.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.