MSTEST0001:明確啟用或停用測試平行處理
屬性 | 值 |
---|---|
規則識別碼 | MSTEST0001 |
標題 | 明確啟用或停用測試平行處理 |
類別 | 效能 |
修正程式是中斷或非中斷 | 不中斷 |
預設為啟用 | Yes |
預設嚴重性 | 資訊 |
在版本中引進 | 3.2.0 |
是否有程式碼修正 | No |
原因
組件會以 [assembly: Parallelize]
或 [assembly: DoNotParallelize]
屬性標記。
檔案描述
根據預設,MSTest 會在相同的組件內循序執行測試,這可能會導致嚴重的效能限制。 建議啟用組件屬性 [assembly: Parallelize]
以平行方式執行測試,或如果已知組件不可平行處理,請明確使用組件層級屬性 [assembly: DoNotParallelize]
。
[assembly: Parallelize]
的預設組態相當於 [assembly: Parallelize(Scope = ExecutionScope.ClassLevel)]
,這表示平行處理會在類別層設定 (而非方法層),且會盡可能使用更多的執行緒 (視內部實作而定)。
如何修正違規
若要修正此規則的違規,請新增 [assembly: Parallelize]
或 [assembly: DoNotParallelize]
屬性。 建議您使用 [assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
來獲得最佳平行處理。
隱藏警告的時機
請勿隱藏此規則的警告。 許多程式庫可以在啟用平行處理時受益於大幅提升效能。 當測試應用程式設計成防止平行處理的方式時,明確設定屬性可協助新開發人員了解程式庫的限制。
隱藏警告
無法內聯抑制對此條規則的違規行為。
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none
。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0001.severity = none
如需詳細資訊,請參閱 如何抑制程式碼分析警告。