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.
| Proprietà | Valore |
|---|---|
| ID regola | MSTEST0071 |
| Title | Il metodo di test non deve specificare un nome visualizzato uguale al proprio nome |
| Categoria | Usage |
| La modifica è dirompente o non dirompente | Non-breaking |
| Abilitato per impostazione predefinita | Sì |
| Gravità predefinita | Informazioni |
| introdotta nella versione | 4.3.0 |
| È presente una correzione del codice | Sì |
Cause
Un metodo di test imposta un oggetto DisplayName (su TestMethodAttribute o DataRowAttribute) su un valore identico al nome del metodo di test.
Descrizione regola
Impostare un DisplayName su un valore identico al nome del metodo è ridondante, perché il nome del metodo viene già usato per impostazione predefinita come nome visualizzato. La ridondanza DisplayName può essere rimossa senza modificare la modalità di segnalazione del test.
[TestClass]
public class MyTestClass
{
[TestMethod("Test")] // Violation: same as the method name.
public void Test()
{
}
}
Come correggere le violazioni
Rimuovere l'elemento superfluo DisplayName.
[TestClass]
public class MyTestClass
{
[TestMethod]
public void Test()
{
}
}
È disponibile una correzione del codice.
Quando eliminare gli avvisi
È possibile eliminare questo avviso se si imposta intenzionalmente il nome visualizzato in modo esplicito, ad esempio per mantenerlo stabile se il metodo viene rinominato in un secondo momento.
Eliminare un avviso
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable MSTEST0071
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0071
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.MSTEST0071.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.