MSTEST0030:包含 [TestMethod]
的類型應標示為 [TestClass]
屬性 | 值 |
---|---|
規則識別碼 | MSTEST0030 |
職稱 | 包含 [TestMethod] 的類型應標示為 [TestClass] |
類別 | 使用方式 |
修正程式是中斷或非中斷 | 不中斷 |
預設為啟用 | Yes |
預設嚴重性 | 資訊 |
在版本中引進 | 3.5.0 |
是否有程式修正 | No |
原因
包含 [TestMethod]
的類型應標示為 [TestClass]
,否則會以無訊息方式忽略測試方法。
檔案描述
MSTest 只會在測試類別容器的內容上考慮測試方法 (標記為 [TestClass] 或衍生屬性的類別),這可能導致某些測試以無訊息方式忽略。 如果您的類別應該代表子類別所執行的常見測試行為,則建議將類型標示為抽象,以釐清其他讀取程式碼的開發人員的意圖。
如何修正違規
包含測試方法的非抽象類別應標示為 '[TestClass]'。
隱藏警告的時機
如果您確定類別會被繼承,而且在此類別上宣告的測試應該只在子類別的內容中執行,則隱藏診斷是安全的。 不過,我們建議將此類別標示為抽象。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0030
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0030
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none
。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0030.severity = none
如需詳細資訊,請參閱 如何隱藏程式代碼分析警告。