Sprache

MSTEST0087: Duplizierte DataRow Anzeigenamen vermeiden

Eigentum Wert
Regel-ID MSTEST0087
Title Vermeiden Sie doppelte DataRow Anzeigenamen
Kategorie Usage
Fix führt oder führt nicht zur Unterbrechung Non-breaking
Standardmäßig aktiviert Yes
Voreingestellte Schwere Warning
wurde in Version eingeführt. 4.5.0
Gibt es eine Codekorrektur No

Ursache

Zwei oder mehr DataRowAttribute Instanzen auf derselben Testmethode legen denselben DisplayNameWert fest, und der Name ist nicht NULL, leer oder besteht nur aus Leerraum.

Regelbeschreibung

Doppelte explizite Anzeigenamen lassen Datenzeilen im Test-Explorer, in Berichten und in der Fehlerausgabe nicht voneinander unterscheiden. Die Regel vergleicht Namen mittels ordinaler, groß-/kleinschreibungssensitiver Gleichheit und meldet jedes doppelte Vorkommen nach dem ersten Vorkommen. Es ignoriert Namen, die null, leer sind oder nur Leerraum enthalten.

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

Wie man Verstöße behebt

Weisen Sie jeder Zeile einen eindeutigen Anzeigenamen zu, oder entfernen Sie DisplayName und lassen Sie MSTest Namen anhand der Methode und der Argumente generieren.

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

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie diese Regel nicht, wenn die Zeilen in den Testergebnissen unterscheidbar bleiben müssen. Unterdrückung ist nur dann sinnvoll, wenn ein nachgeschalteter Läufer die Anzeigenamen durch eine andere eindeutige Identität ersetzt.

Unterdrücken einer Warnung

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

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad auf none in der Konfigurationsdatei fest.

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

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Siehe auch