Compartilhar via


MSTEST0017: os argumentos de declaração devem ser passados na ordem correta

Propriedade Valor
ID da regra MSTEST0017
Título Os argumentos de asserção devem ser passados na ordem correta
Categoria Uso
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão Sim
Severidade padrão Informações
Introduzido na versão 3.4.0
Há uma correção de código Sim

Causa

Essa regra gera um problema quando as chamadas para Assert.AreEqual, Assert.AreNotEqual, Assert.AreSame ou Assert.AreNotSame, estão seguindo um ou vários dos padrões abaixo:

  • actual argumento é um valor constante ou literal
  • actual variável de argumento começa com expected, _expected ou Expected
  • expected ou notExpected variável de argumento começa com actual
  • actual não é uma variável local

Descrição da regra

MSTest Assert.AreEqual, Assert.AreNotEqual, Assert.AreSame e Assert.AreNotSame esperam que o primeiro argumento seja o valor esperado/inesperado e o segundo argumento seja o valor real.

O fato de o valor esperado e o valor real estarem na ordem errada não alterará o resultado do teste (sucesso/falha quando deveria), mas a falha da asserção conterá informações enganosas.

Como corrigir violações

Verifique se os argumentos actual e expected/notExpected são passados na ordem correta.

Quando suprimir avisos

Não suprima um aviso dessa regra, pois isso resultará em saída enganosa.