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 literalactual
variável de argumento começa comexpected
,_expected
ouExpected
expected
ounotExpected
variável de argumento começa comactual
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.