MSTEST0031: System.ComponentModel.DescriptionAttribute nie ma wpływu na metody testowe

Właściwość Wartość
Identyfikator reguły MSTEST0031
Tytuł System.ComponentModel.DescriptionAttribute nie ma wpływu na metody testowe.
Kategoria Użycie
Poprawka powodująca niezgodność lub jej niepowodująca Nierozdzielający
Domyślnie włączone Tak
Domyślny poziom ważności Ostrzeżenie rozpoczynające się od wersji 4.0.0, informacje przed
Wprowadzone w wersji 3.5.0
czy istnieje poprawka kodu Nie

Przyczyna

'System.ComponentModel.DescriptionAttribute' nie ma wpływu w kontekście testów.

Opis reguły

System.ComponentModel.DescriptionAttribute i Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute mają taką samą krótką nazwę, ale służą różnym odbiorcom. Narzędzie MSTest odczytuje własny atrybut dla metadanych testowych; atrybut modelu komponentów nie zawiera opisu testu.

W związku z tym niewłaściwa przestrzeń nazw może utworzyć kod, który kompiluje, ale traci zamierzony opis w metadanych testowych. Użyj atrybutu MSTest, jeśli opis jest przeznaczony dla modułu uruchamiającego testy.

Jak naprawić naruszenia

Usuń element System.ComponentModel.DescriptionAttribute lub zastąp go elementem Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute.

Kiedy pomijać ostrzeżenia

Nie zalecamy wyłączania diagnostyki, ponieważ System.ComponentModel.DescriptionAttribute nie ma żadnego wpływu w kontekście testów.

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 MSTEST0031
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0031

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

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

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