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 | MSTEST0016 |
| Tytuł | Klasa testowa powinna mieć metodę testową |
| Kategoria | Projekt |
| Poprawka powodująca niezgodność lub niepowodująca niezgodności | Nienaruszający zgodności |
| Domyślnie włączone | Tak |
| Domyślny poziom ważności | Info |
| Wprowadzone w wersji | 3.3.0 |
| czy istnieje poprawka kodu | Nie |
Przyczyna
Klasa testowa nie deklaruje metody testowej ani jej nie dziedziczy oraz nie spełnia warunku wyjątku dla klas zawierających wyłącznie fixture’y.
Opis reguły
Klasa oznaczona [TestClass] normalnie reprezentuje testy wykonywalne. Jeśli nie ma metod testowych, nie zapewnia pokrycia testu i może wskazywać brakujący [TestMethod] atrybut lub niekompletną refaktoryzację.
Reguła wyklucza klasy statyczne zawierające [AssemblyInitialize]metody , [AssemblyCleanup], [GlobalTestInitialize]lub [GlobalTestCleanup] . Te kontenery zapewniają wywołania zwrotne cyklu życia, zamiast samodzielnie przeprowadzać testy.
Jak naprawić naruszenia
Dodaj brakujący [TestMethod] atrybut do rzeczywistego testu lub dodaj zamierzone testy. Jeśli klasa zawiera tylko wywołania zwrotne zestawu lub globalnego cyklu życia, zadeklaruj ją jako statyczną, aby dopasować ją do wyjątku dotyczącego wyłącznie fixture’ów.
Kiedy wyłączać ostrzeżenia
Pomiń diagnostykę, jeśli klasa celowo zawiera tylko wspólne zachowanie klasy bazowej lub wywołania zwrotne cyklu życia i nie spełnia wyjątku dla kontenera statycznego. W przeciwnym razie sprawdź, czy nie brakuje atrybutów testu. Nie dodawaj pustego testu wyłącznie w celu wyciszenia diagnostyki.
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 MSTEST0016
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0016
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0016.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.