Lingua
Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
MSTEST0087: Evitare nomi visualizzati
| 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.