Język

MSTEST0087: Unikaj powielonych DataRownazw wyświetlanych

Property Value
Identyfikator reguły MSTEST0087
Tytuł Unikaj powielonych DataRow nazw wyświetlanych
Category Usage
Poprawka jest przełomowa lub nieprzełomowa Non-breaking
Domyślnie włączone Yes
domyślna ciężkość Ostrzeżenie
wprowadzone w wersji 4.5.0
Czy istnieje poprawka kodu No

Przyczyna

Dwa lub więcej wystąpień DataRowAttribute w tej samej metodzie testowej ustawiają tę samą wartość DisplayName, a nazwa nie ma wartości null, pustej ani białych znaków.

Opis reguły

Zduplikowane jawne nazwy wyświetlane sprawiają, że wiersze danych są nie do odróżnienia w Eksploratorze testów, raportach i danych wyjściowych awarii. Reguła porównuje nazwy przy użyciu porównania porządkowego z uwzględnieniem wielkości liter i zgłasza każdy duplikat po pierwszym wystąpieniu. Ignoruje nazwy o wartości null, puste lub składające się wyłącznie z białych znaków.

[TestMethod]
[DataRow(1, DisplayName = "valid")]
[DataRow(2, DisplayName = "valid")] // Violation
public void Validate(int value) { }

Jak naprawić naruszenia

Nadaj każdemu wierszowi unikatową nazwę wyświetlaną lub usuń DisplayName i pozwól aplikacji MSTest wygenerować nazwy z metody i argumentów.

[DataRow(1, DisplayName = "valid-one")]
[DataRow(2, DisplayName = "valid-two")]

Kiedy pomijać ostrzeżenia

Nie pomijaj tej reguły, gdy wiersze muszą pozostać rozróżnialne w wynikach testu. Pomijanie jest uzasadnione tylko wtedy, gdy podrzędny moduł uruchamiający zastępuje nazwy wyświetlane inną unikatową tożsamością.

Pomijanie ostrzeżenia

#pragma warning disable MSTEST0087
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0087

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

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

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

Zobacz także