MSTEST0007: używanie atrybutów testowych tylko w przypadku metod testowych
Własność | Wartość |
---|---|
identyfikator reguły | MSTEST0007 |
Tytuł | Używanie atrybutów testowych tylko w przypadku metod testowych |
Kategoria | Użytkowanie |
Poprawka jest przerywająca lub nieprzerywająca | Nierozdzielający |
włączone domyślnie | Tak |
Domyślna dotkliwość | Informacje |
wprowadzone w wersji | 3.3.0 |
czy istnieje poprawka kodu | Tak |
Przyczyna
Metoda, która nie jest oznaczona TestMethodAttribute ma do niej zastosowany co najmniej jeden atrybut testowy.
Opis reguły
Następujące atrybuty testowe powinny być stosowane tylko dla metod oznaczonych atrybutem TestMethodAttribute:
- ConditionBaseAttribute
- CssIterationAttribute
- CssProjectStructureAttribute
- DescriptionAttribute
- ExpectedExceptionBaseAttribute
- OwnerAttribute
- PriorityAttribute
- TestPropertyAttribute
- WorkItemAttribute
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, przekonwertuj metodę, na której zastosowano atrybuty testowe do metody testowej, ustawiając atrybut [TestMethod]
lub całkowicie usuń atrybuty testowe.
Kiedy pomijać ostrzeżenia
Nie pomijaj ostrzeżenia z tej reguły. Jeśli zignorujesz tę regułę, atrybuty zostaną zignorowane, ponieważ są one przeznaczone do użycia tylko w kontekście testowym.
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 MSTEST0007
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0007
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0007.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.