Sdílet prostřednictvím


MSTEST0017: Argumenty kontrolního výrazu by měly být předány ve správném pořadí.

Vlastnost Hodnota
ID pravidla MSTEST0017
Název Argumenty kontrolního výrazu by měly být předány ve správném pořadí.
Kategorie Využití
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení Ano
Výchozí závažnost Informace
Představeno ve verzi 3.4.0
Existuje oprava kódu. Ano

Příčina

Toto pravidlo vyvolá problém při volání Assert.AreEqual, Assert.AreNotEqualAssert.AreSame nebo Assert.AreNotSame jsou následující jeden nebo více vzorů:

  • actual argument je konstantní nebo literální hodnota.
  • actual argumentová proměnná začíná řetězcem expected, _expected nebo Expected
  • expected nebo notExpected proměnná argumentu začíná na actual
  • actual není místní proměnná.

Popis pravidla

MSTest Assert.AreEqual, Assert.AreNotEqualAssert.AreSame a Assert.AreNotSame očekává, že první argument bude očekávaná/neočekávaná hodnota a druhý argument bude skutečnou hodnotou.

Když budete mít očekávanou hodnotu a skutečnou hodnotu v nesprávném pořadí, nezmění se výsledek testu (úspěšné nebo neúspěšné), ale selhání kontrolního výrazu bude obsahovat zavádějící informace.

Jak opravit porušení

Ujistěte se, že actual expected/notExpected jsou argumenty předány ve správném pořadí.

Kdy potlačit upozornění

Nepotlačujte upozornění z tohoto pravidla, protože by to vedlo k zavádějícímu výstupu.