MSTEST0017:判斷提示引數應以正確的順序傳遞
屬性 | 值 |
---|---|
規則識別碼 | MSTEST0017 |
職稱 | 判斷提示引數應以正確的順序傳遞 |
類別 | 使用方式 |
修正程式是中斷或非中斷 | 不中斷 |
預設為啟用 | Yes |
預設嚴重性 | 資訊 |
在版本中引進 | 3.4.0 |
是否有程式碼修正 | Yes |
原因
對 Assert.AreEqual
、Assert.AreNotEqual
、Assert.AreSame
或 Assert.AreNotSame
的呼叫遵循下列一或多個模式時,此規則會引發問題:
-
actual
引數是常數或常值 -
actual
引數變數開頭為expected
、_expected
或Expected
-
expected
或notExpected
引數變數開頭為actual
-
actual
不是區域變數
檔案描述
MSTestAssert.AreEqual
、Assert.AreNotEqual
、Assert.AreSame
和 Assert.AreNotSame
預期第一個引數為預期/非預期值,且第二個引數為實際值。
預期值和實際值的順序不對,並不會改變測試的結果 (應成功時成功,應失敗時失敗),但判斷提示失敗將會包含誤導性資訊。
如何修正違規
請確認 actual
和 expected
/notExpected
引數的傳遞順序正確。
隱藏警告的時機
請勿抑制此規則的警告,否則會產生誤導性的輸出。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0017
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0017
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none
。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0017.severity = none
如需詳細資訊,請參閱 如何抑制程式代碼分析警告。