效能規則透過識別優化測試執行速度的機會,支援高效能測試。
此類別的規則
| 規則識別碼 | Title | Severity | 修正可用 |
|---|---|---|---|
| MSTEST0001 | 使用 Parallelize 屬性。 | Info | Yes |
常見場景
測試平行化
預設情況下,MSTest 依序執行測試,這對大型測試套件的執行時間可能有顯著影響。
-
MSTEST0001:提醒您明確啟用
[assembly: Parallelize]平行化,或確認[assembly: DoNotParallelize]的序列執行。
這很重要的原因:平行化能透過在多個執行緒或程序間同時執行測試,大幅縮短測試執行時間。 然而,並非所有測試套件都安全可以平行化(例如修改共享狀態的測試)。 這條規則確保你對平行化做出有意識的決定。
何時啟用平行化:
- 考試是獨立的,不會共享州份。
- 測試不依賴執行順序。
- 測試不會修改全域資源(資料庫、檔案和環境變數)。
何時使用 DoNotParallelize:
- 測試依賴共享資源。
- 測試會修改全域狀態。
- 測試需要特定的執行順序。
- 您正在排除測試失敗的問題。