Partilhar via


MSTEST0053: Evite usar métodos Assert com parâmetros de formato

Propriedade Valor
ID da regra MSTEST0053
Título Evite usar métodos Assert com parâmetros de formato
Categoria Usage
A correção é invasiva ou não invasiva Non-breaking
Ativado por padrão Yes
Severidade padrão Advertência
Introduzido na versão 3.11.0
Existe uma correção de código Yes

Observação

Este analisador não é mais relevante para o MSTest 4, pois as APIs de asserção com parâmetros de formato foram removidas.

Motivo

Uma chamada de método de asserção utiliza os argumentos message e parameters para formatação de cadeia de caracteres, em vez de usar interpolação de cadeia de caracteres.

Descrição da regra

Usar as sobrecargas de asserção que aceitam message e parameters não é mais recomendado. Essas sobrecargas são removidas no MSTest v4. É aconselhável usar interpolação de cordas em vez disso.

Como corrigir violações

Substitua chamadas que usam parâmetros de formato de mensagem por interpolação de cadeia de caracteres.

Por exemplo, altere isto:

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

Para isso:

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

Quando suprimir avisos

Não suprima avisos desta regra. Essas sobrecargas são removidas no MSTest v4 e não são recomendadas.