MSTEST0055:不要忽略字符串方法的返回值

资产 价值
规则 ID MSTEST0055
标题 不要忽略字符串方法的返回值
类别 Usage
修复是中断修复还是非中断修复 Non-breaking
默认启用 是的
默认严重性 警告
是在版本 中引入的 3.11.0
有修复代码的办法吗

原因

调用 string.Containsstring.StartsWithstring.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);
}

何时禁止显示警告

不要禁止显示此规则的警告。 调用字符串方法而不使用其返回值始终是 bug 或死代码。