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à | Value |
|---|---|
| ID Regola | MSTEST0055 |
| Titolo | Non ignorare il valore restituito dai metodi di stringa |
| Categoria | Usage |
| La correzione causa un'interruzione o meno | Non causa un'interruzione |
| Abilitato per impostazione predefinita | Yes |
| Gravità predefinita | Avvertimento |
| Introdotto nella versione | 3.11.0 |
| È presente una correzione del codice | NO |
Motivo
Viene eseguita una chiamata a string.Contains, string.StartsWitho string.EndsWith e il relativo valore restituito viene ignorato.
Descrizione regola
Questi metodi non hanno effetti collaterali e ignorando il risultato restituito è sempre sbagliato. È più probabile che l'intento originale di tali chiamate sia quello di affermare che sono vere.
Come correggere le violazioni
Acquisire e usare il valore restituito dai metodi stringa oppure usare un metodo di asserzione appropriato.
Ad esempio, modificare il codice seguente:
[TestMethod]
public void TestMethod()
{
string value = "Hello world";
value.StartsWith("Hello");
}
In questa:
[TestMethod]
public void TestMethod()
{
string value = "Hello world";
Assert.IsTrue(value.StartsWith("Hello")); // or, Assert.StartsWith("Hello", value);
}
Quando eliminare gli avvisi
Non eliminare gli avvisi da questa regola. La chiamata di metodi stringa senza usare il valore restituito è sempre un bug o un codice non valido.