Sprache
Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MSTEST0087: Duplizierte
| 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.