MSTEST0053. Избегайте использования методов Assert с параметрами формата

Недвижимость Ценность
Идентификатор правила MSTEST0053
Заголовок Избегайте использования методов Assert с параметрами формата
Категория Usage
Исправление является разрушающим или неразрушающим Non-breaking
Включен по умолчанию Да
Серьезность по умолчанию Предупреждение
представлено в версии 3.11.0
Существует ли исправление кода Да

Замечание

Этот анализатор больше не относится к MSTest 4, так как API утверждения с параметрами формата были удалены.

Причина

Вызов метода утверждения использует аргументы message и parameters для форматирования строк вместо интерполяции строк.

Описание правила

Использование перегрузок утверждений, которые принимают message и parameters, больше не рекомендуется. Эти перегрузки удаляются в MSTest версии 4. Вместо этого рекомендуется использовать интерполяцию строк.

Устранение нарушений

Замените вызовы, использующие параметры формата сообщения с интерполяцией строк.

Например, измените следующее:

[TestMethod]
public void TestMethod()
{
    int expected = 5;
    int actual = GetValue();
    Assert.AreEqual(expected, actual, "Expected {0} but got {1}", expected, actual);
}

На эту:

[TestMethod]
public void TestMethod()
{
    int expected = 5;
    int actual = GetValue();
    Assert.AreEqual(expected, actual, $"Expected {expected} but got {actual}");
}

Когда следует подавлять предупреждения

Не подавляйте предупреждения из этого правила. Эти перегрузки удаляются в MSTest версии 4 и не рекомендуется.