| 屬性 | 值 |
|---|---|
| 規則識別碼 | MSTEST0020 |
| 職稱 | 偏好建構函式,而不是 TestInitialize 方法 |
| 類別 | 設計 |
| 修正程式是中斷或非中斷 | 不中斷 |
| 預設為啟用 | No |
| 預設嚴重性 | 資訊 |
| 在版本中引進 | 3.4.0 |
| 是否有程式碼修正 | Yes |
原因
存在 void [TestInitialize] 方法時,此規則會引發診斷。
檔案描述
進行非異步初始化時通常最好依賴建構函式,因為這樣您就可以接著依賴 readonly,並在開發測試時取得更好的編譯器回饋。 處理可為 Null 內容時更是如此。
如何修正違規
將傳回 [TestInitialize] 的 void 取代為建構函式。
隱藏警告的時機
如果您決定加入此規則,通常不建議抑制此規則的警告。
備註
此規則需要自行選擇加入。 即使使用 <MSTestAnalysisMode>All</MSTestAnalysisMode>,也不會啟用它。 如需 MSTestAnalysisMode的詳細資訊,請參閱 MSTest 程式代碼分析。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0020
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0020
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0020.severity = none
如需詳細資訊,請參閱 如何抑制程式碼分析警告。