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 | Sí |
Gravedad predeterminada | Información |
Introducido en la versión | 3.4.0 |
Hay una corrección de código | Sí |
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 porexpected
,_expected
oExpected
- La variable de argumento
expected
ynotExpected
comienza poractual
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.