| 资产 | 价值 |
|---|---|
| 规则 ID | MSTEST0055 |
| 标题 | 不要忽略字符串方法的返回值 |
| 类别 | Usage |
| 修复是中断修复还是非中断修复 | Non-breaking |
| 默认启用 | 是的 |
| 默认严重性 | 警告 |
| 是在版本 中引入的 | 3.11.0 |
| 有修复代码的办法吗 | 否 |
原因
调用 string.Contains、string.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);
}
何时禁止显示警告
不要禁止显示此规则的警告。 调用字符串方法而不使用其返回值始终是 bug 或死代码。