Comparteix a través de


MSTEST0017: los argumentos de aserción deben pasarse en el orden correcto

Propiedad Value
Identificador de la regla MSTEST0017
Título Los argumentos de aserción deben pasarse en el orden correcto
Categoría Uso
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada
Gravedad predeterminada Información
Introducido en la versión 3.4.0
Hay una corrección de código

Causa

Esta regla genera un problema cuando las llamadas a Assert.AreEqual, Assert.AreNotEqual, Assert.AreSame o Assert.AreNotSame siguen uno o varios de los patrones siguientes:

  • El argumento actual es un valor constante o literal
  • La variable del argumento actual comienza por expected, _expected o Expected
  • La variable de argumento expected y notExpected comienza por actual
  • actual no es una variable local

Descripción de la regla

MSTest Assert.AreEqual, Assert.AreNotEqual, Assert.AreSame y Assert.AreNotSame esperan que el primer argumento sea el valor esperado o inesperado y el segundo argumento sea el valor real.

Tener el valor esperado y el valor real en el orden incorrecto no modificará el resultado de la prueba (se realiza correctamente o produce un error cuando debe), pero el error de aserción contendrá información engañosa.

Cómo corregir infracciones

Asegúrese de que los argumentos actual y expected/notExpected se pasan en el orden correcto.

Cuándo suprimir las advertencias

No suprima una advertencia de esta regla, ya que daría lugar a una salida engañosa.