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.
MSTEST0087: Unikaj powielonych
| 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.