Lingua

MSTEST0087: Evitare nomi visualizzati DataRow duplicati

Proprietà Value
ID regola MSTEST0087
Titolo Evitare nomi visualizzati duplicati DataRow
Category Usage
La modifica è dirompente o non dirompente Non rompente
Abilitato per impostazione predefinita Sì
Gravità predefinita Avvertimento
introdotta nella versione 4.5.0
È presente una correzione del codice No

Cause

Due o più DataRowAttribute istanze dello stesso metodo di test impostano lo stesso DisplayNamee il nome non è null, vuoto o spazio vuoto.

Descrizione della regola

I nomi visualizzati specificati esplicitamente e duplicati rendono le righe di dati indistinguibili in Esplora test, nei report e nell'output degli errori. La regola confronta i nomi usando un criterio di uguaglianza ordinale con distinzione tra maiuscole e minuscole e segnala ogni duplicato successivo alla prima occorrenza. Ignora i nomi null, vuoti o composti da spazi bianchi.

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

Come correggere le violazioni

Assegnare a ogni riga un nome visualizzato univoco o rimuovere DisplayName e consentire a MSTest di generare nomi dal metodo e dagli argomenti.

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

Quando eliminare gli avvisi

Non eliminare questa regola quando le righe devono rimanere distinguibili nei risultati del test. La soppressione è ragionevole solo quando un runner downstream sostituisce i nomi visualizzati con un'altra identità univoca.

Eliminare un avviso

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none nel file di configurazione .

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedere anche