共用方式為


MSTEST0017:判斷提示引數應以正確的順序傳遞

屬性
規則識別碼 MSTEST0017
職稱 判斷提示引數應以正確的順序傳遞
類別 使用方式
修正程式是中斷或非中斷 不中斷
預設為啟用 Yes
預設嚴重性 資訊
在版本中引進 3.4.0
是否有程式碼修正 Yes

原因

Assert.AreEqualAssert.AreNotEqualAssert.AreSameAssert.AreNotSame 的呼叫遵循下列一或多個模式時,此規則會引發問題:

  • actual 引數是常數或常值
  • actual 引數變數開頭為 expected_expectedExpected
  • expectednotExpected 引數變數開頭為 actual
  • actual 不是區域變數

檔案描述

MSTestAssert.AreEqualAssert.AreNotEqualAssert.AreSameAssert.AreNotSame 預期第一個引數為預期/非預期值,且第二個引數為實際值。

預期值和實際值的順序不對,並不會改變測試的結果 (應成功時成功,應失敗時失敗),但判斷提示失敗將會包含誤導性資訊。

如何修正違規

請確認 actualexpected/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

如需詳細資訊,請參閱 如何抑制程式代碼分析警告