Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| Fastighet | Värde |
|---|---|
| Regel-ID | MSTEST0055 |
| Titel | Ignorera inte returvärdet för strängmetoder |
| Kategori | Usage |
| Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
| Aktiverad som standard | Yes |
| Standard allvarlighetsgrad | Varning |
| Introducerad i version | 3.11.0 |
| Finns det en kodkorrigering | Nej |
Orsak
Ett anrop till string.Contains, string.StartsWitheller string.EndsWith görs och dess returvärde ignoreras.
Regelbeskrivning
Dessa metoder har inga biverkningar och ignorera returresultatet är alltid fel. Det är mer troligt att den ursprungliga avsikten med dessa anrop är att hävda att de är sanna.
Så här åtgärdar du överträdelser
Samla in och använd returvärdet från strängmetoder, eller använd en korrekt assertionsmetod.
Ändra till exempel följande:
[TestMethod]
public void TestMethod()
{
string value = "Hello world";
value.StartsWith("Hello");
}
Så här gör du:
[TestMethod]
public void TestMethod()
{
string value = "Hello world";
Assert.IsTrue(value.StartsWith("Hello")); // or, Assert.StartsWith("Hello", value);
}
När du ska ignorera varningar
Ignorera inte varningar från den här regeln. Att anropa strängmetoder utan att använda returvärdet är alltid en bugg eller en död kod.