Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| 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 | Upozornění počínaje verzí 4.0.0, informace před upozorněním. |
| 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ů:
-
actualargument je konstantní nebo literální hodnota. -
actualargumentová proměnná začíná řetězcemexpected,_expectedneboExpected -
expectednebonotExpectedproměnná argumentu začíná naactual -
actualnení 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 actualexpected/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.
Potlačení upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable MSTEST0017
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0017
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0017.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.