Dela via


MSTEST0055: Ignorera inte returvärdet för strängmetoder

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.