次の方法で共有


MSTEST0055: 文字列メソッドの戻り値を無視しないでください

プロパティ 価値
ルール識別子 MSTEST0055
タイトル 文字列メソッドの戻り値を無視しないでください
カテゴリ Usage
修正が破壊的であるか非破壊的であるか Non-breaking
既定で有効 イエス
既定の重大度 Warnung
バージョン で導入された 3.11.0
コード修正はありますか いいえ

原因

string.Containsstring.StartsWith、またはstring.EndsWithの呼び出しが行われ、その戻り値は無視されます。

ルールの説明

これらのメソッドには副作用がなく、戻り値の結果を無視することは常に間違っています。 これらの呼び出しの元の意図は、それらが真実であることをアサートする可能性が高くなります。

違反を修正する方法

文字列メソッドから戻り値をキャプチャして使用するか、適切なアサーション メソッドを使用します。

たとえば、次の内容を変更します。

[TestMethod]
public void TestMethod()
{
    string value = "Hello world";
    value.StartsWith("Hello");
}

この行を次のように変更します。

[TestMethod]
public void TestMethod()
{
    string value = "Hello world";
    Assert.IsTrue(value.StartsWith("Hello")); // or, Assert.StartsWith("Hello", value);
}

警告を抑制するタイミング

このルールの警告を抑制しないでください。 戻り値を使用せずに文字列メソッドを呼び出すことは、常にバグまたはデッド コードです。