| 屬性 | 值 |
|---|---|
| 規則識別碼 | MSTEST0024 |
| 職稱 | 請勿將 TestContext 儲存在靜態成員中 |
| 類別 | 使用方式 |
| 修正程式是中斷或非中斷 | 不中斷 |
| 預設為啟用 | Yes |
| 預設嚴重性 | 從版本 4.0.0 開始的警告,之前的資訊 |
| 在版本中引進 | 3.4.0 |
| 是否有程式碼修正 | No |
原因
當指派給 static 參數的 TestContext 成員時,此規則會引發診斷。
檔案描述
傳遞至每個初始化方法的 TestContext 參數 ([AssemblyInitialize] 或 [ClassInitialize]) 是目前內容特有的,而且不會在每個測試執行上更新。 為了重複使用,儲存此 TextContext 物件大多時候會導致問題。
如何修正違規
請勿儲存 [AssemblyInitialize] 或 [ClassInitialize]TestContext 參數。
隱藏警告的時機
如果您確定行為符合您想要執行的作業,則可隱藏此規則的警告。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0024
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0024
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0024.severity = none